2

我将日期时间作为 Char(30) 存储在表中,我想将它们转换为 mysql 标准日期时间格式。

所以我尝试了这个

   SELECT STR_TO_DATE(next_attempt, '%Y-%m-%d %T') as date FROM Table LIMIT 10;

这总是返回 Null !这是当前格式 (5/16/2011 20:14) 所以在我的 char(30) 字段中我有 (5/16/2011 20:14) 我想将它转换为 (2011-05-16 20: 14:00)

我做错了什么让它继续返回 Null?

谢谢

4

1 回答 1

4

尝试将 "/" 替换为 "," 并使用 '%m,%d,%Y %T'

STR_TO_DATE(replace('5/16/2011 20:14','/',','),'%m,%d,%Y %T')

这里工作正常:

select STR_TO_DATE(replace('5/16/2011 20:14','/',','),'%m,%d,%Y %T') as date from dual
于 2013-03-07T19:54:06.487 回答