কম্পিউটার টিউটোরিয়াল

অবৈধ তারিখের সাথে INTERVAL কীওয়ার্ড ব্যবহার করলে MySQL কীভাবে আচরণ করে?


আসলে, 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_dates মোড সক্রিয় করার পর 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) 

  1. MySQL VIEW-এ WHERE ক্লজ ব্যবহার করা

  2. MySQL-এ BEFORE INSERT TRIGGER ব্যবহার করে অটোমেটিক্যালি বর্তমান তারিখ ইনসার্ট করুন

  3. MySQL에서 CONTAINS() 대신 CONCAT과 CURDATE로 연도 포함 여부 검사하기

  4. MySQL-এ DATE_ADD ব্যবহার করে টেবিলের তারিখ আপডেট করা (বছর যোগ/বিয়োগ)