我有一个日期列,其中的日期和时间以字符串格式存储在我的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/

10-10 08:23