Nếu chúng ta truyền một chuỗi không hợp lệ làm đối số cho hàm STR_TO_DATE(), MySQL sẽ trả về NULL cùng với một cảnh báo. Ví dụ sau giúp hiểu rõ:
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)
Trong truy vấn trên, giá trị chuỗi không hợp lệ do giá trị ngày sai (32). Do đó nó trả về giá trị NULL và một cảnh báo như dưới đây.
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)