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

例如,我的源表LastModified字段中的一条记录包含1/18/2019 01:26:04 PM。我需要将其转换为目标表中的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;

最佳答案

看来您使用错误的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"

关于mysql - MySQL字符串日期时间转换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54375942/

10-10 03:21