শুধু বছর থাকা এবং মাস/দিন শূন্য (00) এমন তারিখ স্টোর করতে NO_ZERO_IN_DATE SQL মোড ডিজেবল করতে হয়। এই মোড অন থাকলে MySQL সেটিকে অবৈধ ধরে সকল শূন্যে রূপান্তর করবে।
উদাহরণ
mysql> INSERT INTO year_testing (OrderDate) VALUES('2017:00:00');
Query OK, 1 row affected (0.09 sec)
mysql> SELECT * FROM year_testing;
+------------+
| OrderDate |
+------------+
| 2017-00-00 |
+------------+
mysql> SET sql_mode = 'NO_ZERO_IN_DATE';
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO year_testing(OrderDate) VALUES('2017:00:00');
Query OK, 1 row affected, 1 warning (0.04 sec)
mysql> SELECT * FROM year_testing;
+------------+
| OrderDate |
+------------+
| 2017-00-00 |
| 0000-00-00 | -- NO_ZERO_IN_DATE অন থাকায় 0000-00-00-এ রূপান্তর
+------------+
নোট
NO_ZERO_IN_DATEস্ট্রিক্ট মোডের অংশ।- শূন্য মাস/দিন বিশিষ্ট তারিখ সাধারণত এড়ানো উচিত, কারণ এটি সোর্টিং, গণনা, রিপোর্টিং-এ সমস্যা সৃষ্টি করে।
- বছর-মাত্র ডেটার জন্য
YEARটাইপ বা আলাদাyearইন্টিজার কলাম ভালো।