MySQL字符串日期时间转换

时间:2019-01-26 05:35:46

标签: mysql datetime-format

当我将记录追加到目标表时,我需要转换源表中的字段。源表字段格式看起来像mm / dd / yyyy hh:mm:ss AM / PM,我需要将其转换为yyyy-mm-ddThh:mm:ss。

例如,我的源表LastModified字段中的一条记录包含2019/1/18下午01:26:04。我需要将其转换为目标表中的2019-01-18T13:26:04。

试图同时使用MySQL STR_TO_DATE()和DATE_FORMAT()函数,但未成功。

尝试以下变化:

INSERT INTO target ( identification, LastModified )
SELECT identification, Date_format(LastModified, "%y-%c-%dt%h:%i:%s") AS LastModified 
FROM source;

INSERT INTO target ( identification, LastModified )
SELECT identification, Str_to_date(LastModified, "%y-%c-%dt%h:%i:%s") AS LastModified 
FROM source;

1 个答案:

答案 0 :(得分:0)

您似乎错误地使用了STR_TO_DATE()。这应该起作用:

INSERT INTO target ( identification, LastModified )
SELECT identification, Str_to_date(LastModified, "%c/%e/%Y %l:%i:%s %p") AS LastModified 
FROM source;

请注意格式字符串:"%c/%e/%Y %l:%i:%s %p"