我有一个日期列,其中的日期和时间以字符串格式存储在我的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'
我想知道我在干什么,时间计算错误
最佳答案
您应该使用%d
(月的第几天,数字(00..31))而不是%D
(月的第几天,英文后缀(0th,1st,2nd,3rd,…)。
显然它把26后面的两个字符看作序数后缀。
关于mysql - STR_TO_DATE返回错误的小时值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53541589/