将字符串转换为 MySQL 中的时间戳格式

Converting string to timestamp format in MySQL

我的 MySQL 数据库中有一列包含字符串格式的时间戳数据。我想将它转换成时间戳格式。

示例数据如下:

Date
--------------------------------
Fri Dec 14 14:11:43 IST 2018
Fri Dec 14 14:13:20 IST 2018

我希望结果采用以下格式:

14-12-2018 14:11:43
14-12-2018 14:13:20

你可以使用 str_to_date()

str_to_date('Fri Dec 14 14:11:43 IST 2018', '%a %b %d %T IST %Y');

通过使用STR_TO_DATE()将字符串转换为DATETIME,然后使用DATE_FORMAT()可以将其更改为预期的日期时间格式。

以下查询将return预期的输出日期时间格式:

SELECT DATE_FORMAT(
         STR_TO_DATE('Fri Dec 14 14:11:43 IST 2018', '%a %b %d %T IST %Y'), 
       '%d-%m-%Y %H:%i:%s');

输出:

14-12-2018 14:11:43

db<>fiddle demo

link

中提供了参考格式