【发布时间】:2021-09-27 08:31:25
【问题描述】:
使用 MySQL 5.7,它假装从代表四位数年份的字符串转换为两位数月份,中间没有任何其他字符。
例如,运行以下语句
SELECT str_to_date('202105','%Y%m');
返回的内容:160101 是 1601 年 1 月而不是 2021 年 5 月。考虑到原因中的 function,所需的 arguments 似乎是正确的。
【问题讨论】:
-
在 MySQL 5.6 及更早版本中返回
2021-05-00,在更高版本中返回NULL。这个月没有第 0 天,所以这显然是他们修复的错误。 -
还需要指定日期,否则在 MySQL 8.0+ 中将无法使用。
-
注意:MySQL版本已更改。
标签: mysql sql string date formatting