我:正在尝试使用 STR_TO_DATE 但为啥返回 null?
Posted
技术标签:
【中文标题】我:正在尝试使用 STR_TO_DATE 但为啥返回 null?【英文标题】: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'));
【问题讨论】:
因为五月不是 %m 见dev.mysql.com/doc/refman/8.0/en/… 【参考方案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。以上是关于我:正在尝试使用 STR_TO_DATE 但为啥返回 null?的主要内容,如果未能解决你的问题,请参考以下文章