如果指定的格式字串與作為引數傳遞給 STR_TO_DATE() 函式的日期字串不符,MySQL 會返回什麼?
如果指定的格式字串和日期字串不匹配,則 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)
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP