আমরা জানি YEAR(2) বছরের মান ২ অঙ্কে সংরক্ষণ করে। উদাহরণস্বরূপ, 1969 সংরক্ষণ করতে 69 লিখা যায়। YEAR(2)-এ বছর 1970 থেকে 2069 (70 থেকে 69) পর্যন্ত নির্দিষ্ট করা যায়।
MySQL ২ অঙ্কের বছর মান নিচের নিয়ম অনুযায়ী ব্যাখ্যা করে:
- 00-69 পরিসরের মান 2000-2069 এ রূপান্তরিত হয়।
- 70-99 পরিসরের মান 1970-1999 এ রূপান্তরিত হয়।
আমাদের ২ অঙ্কের ফরম্যাটে তারিখ মান সংরক্ষণ করা উচিত নয় কারণ এর মাধ্যমে সংরক্ষিত মান অস্পষ্ট হয়ে যায় কারণ শতাব্দী অজানা থাকে।
নিচের MySQL উদাহরণটি বিষয়টি আরও স্পষ্ট করবে:
mysql> Create Table year_test(val year(2));
Query OK, 0 rows affected, 1 warning (0.23 sec)
mysql> insert into year_test(val) values('70');
Query OK, 1 row affected (0.14 sec)
mysql> insert into year_test(val) values('00');
Query OK, 1 row affected (0.06 sec)
mysql> select * from year_test;
+-----+
| val |
+-----+
| 70 |
| 00 |
+-----+
2 rows in set (0.00 sec)
mysql> select * from year_test where val = '1970';
+-----+
| val |
+-----+
| 70 |
+-----+
1 row in set (0.03 sec)
mysql> select * from year_test where val = '2000';
+-----+
| val |
+-----+
| 00 |
+-----+
1 row in set (0.00 sec)
mysql> select * from year_test where val = '1900';
Empty set (0.06 sec)
এটি অনিশ্চিত যে 'val'-এ 00 সংরক্ষণ করলে আমরা 1900 বোঝাচ্ছি নাকি 2000। MySQL এটি 2000 হিসাবে ব্যাখ্যা করছে।