【问题标题】:MySQL datetime filed: Truncated incorrect datetime valueMySQL 日期时间归档:截断不正确的日期时间值
【发布时间】:2021-09-21 01:44:22
【问题描述】:

我正在尝试将字符串转换为 mysql 日期时间格式。使用以下格式。但是给 Truncated incorrect datetime value消息。

按照这个页面格式https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_str-to-date

如何修复这个功能?

update userdata set    validity_start_date=STR_TO_DATE('10/29/2015 2:12 PM','%m/%d/%Y %h:%i');
ERROR 1292 (22007): Truncated incorrect datetime value: '10/29/2015 2:12 PM'

谢谢

【问题讨论】:

    标签: mysql datetime date-parsing


    【解决方案1】:

    您的字符串中有“PM”,但没有为其提供格式代码。

    mysql> select STR_TO_DATE('10/29/2015 2:12 PM','%m/%d/%Y %h:%i') as d;
    +---------------------+
    | d                   |
    +---------------------+
    | 2015-10-29 02:12:00 |
    +---------------------+
    1 row in set, 1 warning (0.00 sec)
    
    mysql> show warnings;
    +---------+------+----------------------------------------------------------+
    | Level   | Code | Message                                                  |
    +---------+------+----------------------------------------------------------+
    | Warning | 1292 | Truncated incorrect datetime value: '10/29/2015 2:12 PM' |
    +---------+------+----------------------------------------------------------+
    

    在“AM”/“PM”部分使用%p

    mysql> select STR_TO_DATE('10/29/2015 2:12 PM','%m/%d/%Y %h:%i %p');
    +-------------------------------------------------------+
    | STR_TO_DATE('10/29/2015 2:12 PM','%m/%d/%Y %h:%i %p') |
    +-------------------------------------------------------+
    | 2015-10-29 14:12:00                                   |
    +-------------------------------------------------------+
    1 row in set (0.00 sec)
    

    (执行此操作时不会发出警告。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-23
      • 2018-10-25
      • 2013-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-23
      相关资源
      最近更新 更多