如果指定的格式字符串与作为参数传递给 STR_TO_DATE() 函数的日期字符串不一致,MySQL 将返回什么?
mysqlmysqli database更新于 2025/4/20 10:20:17
如果指定的格式字符串和日期字符串不匹配,则 MySQL 将返回 NULL 值作为输出以及警告。以下是理解相同内容的示例 −
mysql> Select STR_TO_DATE('20172810', '%Y,%d%m');
+------------------------------------+
| STR_TO_DATE('20172810', '%Y,%d%m') |
+------------------------------------+
| NULL |
+------------------------------------+
1 row in set, 1 warning (0.00 sec)
上述查询返回 NULL 作为输出,因为格式字符串在 %Y 后有一个逗号 (,),但是日期字符串在 2017 之后没有任何逗号。
mysql> Show Warnings\G *************************** 1. row *************************** Level: Warning Code: 1411 Message: Incorrect datetime value: '20172810' for function str_to_date 1 row in set (0.00 sec)
同样,在区分格式字符串中日期单位的顺序与日期字符串时,MySQL 将执行与上述相同的操作。下面给出了一个例子来理解它−
mysql> Select STR_TO_DATE('20172810', '%d%m%Y');
+-----------------------------------+
| STR_TO_DATE('20172810', '%d%m%Y') |
+-----------------------------------+
| NULL |
+-----------------------------------+
1 row in set, 1 warning (0.00 sec)
在上述查询中,格式字符串中的单位顺序与日期字符串中的单位顺序不同。
mysql> Show Warnings\G *************************** 1. row *************************** Level: Warning Code: 1411 Message: Incorrect datetime value: '20172810' for function str_to_date 1 row in set (0.00 sec)
相关文章
有用资源
mysql 参考教程 - 该教程包含有关 mysql 的更多信息:https://www.cainiaomax.com/mysql/

