【问题标题】:STR_TO_DATE returning incorrect hour valueSTR_TO_DATE 返回不正确的小时值
【发布时间】:2023-03-12 07:34:01
【问题描述】:

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

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

【问题讨论】:

    标签: mysql sql datetime mysql-workbench


    【解决方案1】:

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

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

    【讨论】:

    • 干杯,解决了问题!
    猜你喜欢
    • 2021-10-29
    • 1970-01-01
    • 1970-01-01
    • 2015-01-07
    • 1970-01-01
    • 2021-09-27
    • 2016-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多