หากสตริงรูปแบบที่ระบุและสตริงวันที่ไม่ตรงกัน 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)