【问题标题】:I: am trying to use STR_TO_DATE but why does this return null?我:正在尝试使用 STR_TO_DATE 但为什么返回 null?
【发布时间】:2021-05-31 17:36:01
【问题描述】:

INSERT INTO 封面说明(issue_date)值 (STR_TO_DATE('13-May-13','%Y-%m-%d'));

【问题讨论】:

标签: mysql str-to-date


【解决方案1】:

因为 May 不是 %m,请参阅 https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_date-format - %b 表示月份缩写或 %M 表示完整月份名称

+--------------------------------------+--------------------------------------+--------------------------------------+
| STR_TO_DATE( '13-May-13','%Y-%m-%d') | STR_TO_DATE( '13-May-13','%Y-%b-%d') | STR_TO_DATE( '13-May-13','%Y-%M-%d') |
+--------------------------------------+--------------------------------------+--------------------------------------+
| NULL                                 | 2013-05-13                           | 2013-05-13                           |
+--------------------------------------+--------------------------------------+--------------------------------------+
1 row in set, 1 warning (0.106 sec)

很遗憾你选择了可能作为代表样本..

【讨论】:

    【解决方案2】:

    根据the documentation on date formatting%m 是“月份,数字 (00..12)”的代码。

    您正在寻找%M,它代表“月份名称(一月..十二月)”

    【讨论】:

    • 我想将 13-May-13 转换为 mysql 日期格式,即 Y-m-d
    • 好的,我明白你的意思了。它奏效了。非常感谢
    • 乐于助人!对不起,如果我不够清楚。
    • 或者可能是 %b。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-16
    • 2017-05-26
    • 1970-01-01
    • 2015-01-07
    • 1970-01-01
    • 1970-01-01
    • 2016-01-09
    相关资源
    最近更新 更多