STR_TO_DATE返回错误的小时值

时间:2018-11-29 14:45:52

标签: mysql sql datetime mysql-workbench

我有一个date列,其中日期和时间以字符串格式存储在我的sql数据库中。我正在尝试转换为正确的日期时间字段,但是当我使用STR_TO_DATE函数时,它只能读取我的2位数小时字段中的2位数。

例如

SELECT '2018-11-26 15:55:58', STR_TO_DATE('2018-11-26 15:55:58', '%Y-%m-%D %T')

返回:

'2018-11-26 15:55:58', '2018-11-26 05:55:58'

我试图了解自己在做什么,小时数计算不正确

1 个答案:

答案 0 :(得分:1)

您应该使用%d每月的天,数字(00..31))而不是%D每月的天带有英语后缀(0th,1st,2nd,3rd,…))。

显然,它认为26后的两个字符为序数后缀。