str\u to\u date返回错误的小时值

yduiuuwa  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(269)

我有一个日期列,它的日期和时间以字符串格式存储在我的sql数据库中。我正试图转换为一个正确的日期时间字段,但当我使用str\u to\u 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'

我正在努力理解我在干什么,时间被错误地计算了

oprakyz7

oprakyz71#

你应该使用 %d (月日,数字(00..31))代替 %D (带有英文后缀(0th,1st,2nd,3rd,…)的月份中的某一天)。
显然,它认为26之后的两个字符是顺序后缀。

相关问题