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

MySQL ใดส่งคืนเมื่อส่งสตริงที่ไม่ถูกต้องเป็นอาร์กิวเมนต์ไปยังฟังก์ชัน STR_TO_DATE ()


หากเราส่งสตริงที่ไม่ถูกต้องเป็นอาร์กิวเมนต์ไปยังฟังก์ชัน 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)

ในข้อความค้นหาด้านบน ค่าสตริงไม่ถูกต้องเนื่องจากมีค่าวันที่ไม่ถูกต้อง (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)