दरअसल, MySQL का व्यवहार allow_invalid_dates . पर निर्भर करता है तरीका। यदि यह मोड सक्षम है तो 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_date . को सक्षम करने के बाद मोड MySQL अमान्य तिथियों को स्वीकार करता है और दिनांक अंकगणित को निम्नानुसार निष्पादित करता है -
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 | +-------------------------------+ 1 row in set (0.00 sec) mysql> select '2017-11-31' + INTERVAL 7 day; +-------------------------------+ | '2017-11-31' + INTERVAL 7 day | +-------------------------------+ | 2017-12-08 | +-------------------------------+ 1 row in set (0.00 sec)