MySQL 5.7 STR_至_日期

MySQL 5.7 STR_至_日期,mysql,mysql-5.7,Mysql,Mysql 5.7,我正在运行MySQL 5.7,希望将一些字符串转换为日期。我在这里查阅了手册: 并尝试了以下内容(请注意MySQL版本) 但是从MySQL 5.7的在线手册中,我应该看到以下内容: mysql> SELECT STR_TO_DATE('9','%m'); -> '0000-09-00' 是否有我遗漏的东西,或者这可能是一个bug?正如手册中所说 如果启用了无零日期或无零日期SQL模式,则不允许零日期或部分日期。在这种情况下,STR_TO_DATE()返回NULL并

我正在运行MySQL 5.7,希望将一些字符串转换为日期。我在这里查阅了手册:

并尝试了以下内容(请注意MySQL版本)

但是从MySQL 5.7的在线手册中,我应该看到以下内容:

mysql> SELECT STR_TO_DATE('9','%m');
        -> '0000-09-00'

是否有我遗漏的东西,或者这可能是一个bug?

正如手册中所说

如果启用了无零日期或无零日期SQL模式,则不允许零日期或部分日期。在这种情况下,STR_TO_DATE()返回NULL并生成警告


这会导致在这种情况下结果为空,因为部分“日期”包含零值。

如手册所述

如果启用了无零日期或无零日期SQL模式,则不允许零日期或部分日期。在这种情况下,STR_TO_DATE()返回NULL并生成警告

这会导致在这种情况下结果为空,因为您的部分“日期”包含零值。

From(强调添加):“MySQL 5.7中的默认SQL模式包括以下模式:
仅完整分组方式
严格转换表
无零日期
无零除法错误
无自动创建用户
,以及
无引擎替换
。”From(重点添加):“MySQL 5.7中的默认SQL模式包括以下模式:
仅按
进行完整的分组,
严格的转换表
无零日期
进行除法的错误,
无自动创建用户
,以及
无引擎替换
mysql> SELECT STR_TO_DATE('9','%m');
        -> '0000-09-00'