MySQL का व्यवहार allow_invalid_dates SQL मोड पर निर्भर करता है। यदि यह मोड सक्षम है, तो 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 |
+-------------------------------+
नोट: अमान्य डेट्स (जैसे फरवरी 30 या नवंबर 31) को अनुमति देना डेटा अखंडता के लिए जोखिम भरा हो सकता है। उत्पादन वातावरण में इसका उपयोग सावधानी से करें।