在MySQL中将字符串(varchar)转换为时间戳格式?

要将字符串转换为时间戳格式,请使用STR_TO_DATE()和DATE_FORMAT()。让我们首先创建一个表-

mysql> create table DemoTable1602
   -> (
   -> ReportingDate varchar(40)
   -> );

使用插入命令在表中插入一些记录-

mysql> insert into DemoTable1602 values('Wed Oct 02 16:10:45 IST 2019');
mysql> insert into DemoTable1602 values('Fri May 31 13:00:10 IST 2019');
mysql> insert into DemoTable1602 values('Mon Dec 31 14:20:00 IST 2018');

使用select语句显示表中的所有记录-

mysql> select * from DemoTable1602;

这将产生以下输出-

+------------------------------+
| ReportingDate                |
+------------------------------+
| Wed Oct 02 16:10:45 IST 2019 |
| Fri May 31 13:00:10 IST 2019 |
| Mon Dec 31 14:20:00 IST 2018 |
+------------------------------+
3 rows in set (0.00 sec)

以下是在MySQL中将字符串转换为时间戳格式的查询-

mysql> select date_format(str_to_date(ReportingDate,'%a %b %d %T IST %Y'),'%d-%m-%Y %H:%i:%s') from DemoTable1602;

这将产生以下输出-

+----------------------------------------------------------------------------------+
| date_format(str_to_date(ReportingDate,'%a %b %d %T IST %Y'),'%d-%m-%Y %H:%i:%s') |
+----------------------------------------------------------------------------------+
| 02-10-2019 16:10:45                                                              |
| 31-05-2019 13:00:10                                                              |
| 31-12-2018 14:20:00                                                              |
+----------------------------------------------------------------------------------+
3 rows in set (0.03 sec)