Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

MySQL คืนค่าอะไรเมื่อส่งสตริงที่ไม่ถูกต้องให้ STR_TO_DATE()

หากส่งสตริงที่ไม่ถูกต้อง (invalid string) เป็นอาร์กิวเมนต์ให้ STR_TO_DATE() MySQL จะคืนค่า NULL พร้อมคำเตือน ตัวอย่าง:

mysql> SELECT STR_TO_DATE('20173210', '%Y%d%m');
+-----------------------------------+
| STR_TO_DATE('20173210', '%Y%d%m') |
+-----------------------------------+
| NULL                              |
+-----------------------------------+
1 row in set, 1 warning (0.00 sec)

คำสั่งด้านบนสตริงค่าไม่ถูกต้องเพราะค่าวัน (day) เป็น 32 จึงคืน NULL และคำเตือน:

mysql> SHOW WARNINGS\G
*************************** 1. row ***************************
Level: Warning
Code: 1411
Message: Incorrect datetime value: '20173210' for function str_to_date
1 row in set (0.00 sec)