พฤติกรรมของ MySQL ขึ้นอยู่กับโหมด allow_invalid_dates หากโหมดนี้เปิดอยู่ MySQL จะยอมรับวันที่ไม่ถูกต้องและคำนวณวันที่ได้ตามปกติ แต่ถ้าโหมดนี้ปิดอยู่ MySQL จะไม่ยอมรับและส่งคืน NULL พร้อมคำเตือน
mysql> SELECT '2017-02-30' + INTERVAL 7 DAY; +-------------------------------+ | '2017-02-30' + INTERVAL 7 DAY | +-------------------------------+ | NULL | +-------------------------------+ 1 row in set, 1 warning (0.00 sec)
หลังจากเปิดโหมด allow_invalid_dates:
mysql> SET sql_mode = 'ALLOW_INVALID_DATES'; Query OK, 0 rows affected (0.05 sec) mysql> SELECT '2017-02-30' + INTERVAL 7 DAY; +-------------------------------+ | '2017-02-30' + INTERVAL 7 DAY | +-------------------------------+ | 2017-03-09 | +-------------------------------+ mysql> SELECT '2017-11-31' + INTERVAL 7 DAY; +-------------------------------+ | '2017-11-31' + INTERVAL 7 DAY | +-------------------------------+ | 2017-12-08 | +-------------------------------+
เมื่อเปิดโหมดนี้ MySQL จะคำนวณวันที่โดยเลื่อนวันที่เกินไปยังเดือนถัดไปอัตโนมัติ