我:正在尝试使用 STR_TO_DATE 但为什么这会返回 null?

问题描述

INSERT INTO covernote (issue_date) VALUES (STR_TO_DATE ('13-May-13','%Y-%m-%d'));

解决方法

因为 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)

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

,

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...