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