আসলে, 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)