যেমন আমরা জানি যে, YEAR(2) 2-সংখ্যার বিন্যাসে একটি বছর সঞ্চয় করে৷ উদাহরণস্বরূপ, আমরা একটি বছর হিসাবে 1969 সংরক্ষণ করতে 69 লিখতে পারি। YEAR (2), বছরটি 1970 থেকে 2069 (70 থেকে 69) পর্যন্ত নির্দিষ্ট করা যেতে পারে।
MySQL নিম্নলিখিত নিয়মগুলির সাহায্যে 2-সংখ্যার বছরের মানগুলি ব্যাখ্যা করে -
- 00-69 রেঞ্জের বছরের মান 2000-2069 এ রূপান্তরিত হয়।
- 70-99 রেঞ্জের বছরের মানগুলি 1970-1999 এ রূপান্তরিত হয়৷
আমাদের অবশ্যই তারিখের মানগুলিকে 2-সংখ্যার বিন্যাস হিসাবে সংরক্ষণ করা উচিত নয় কারণ এই বিন্যাসে সংরক্ষিত মানগুলি অস্পষ্ট হয়ে যায় কারণ শতাব্দী অজানা৷
মাইএসকিউএল উদাহরণ অনুসরণ করে এটি আরও স্পষ্টভাবে বোঝা যায় -
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) এটা অনিশ্চিত যে 00 থেকে 'ভাল' সঞ্চয় করে আমরা কোন বছরকে বোঝাচ্ছি, '1900' বা '2000'। মাইএসকিউএল এটিকে 2000 সাল হিসাবে ব্যাখ্যা করছে।