যেমন আমরা জানি যে, 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 সাল হিসাবে ব্যাখ্যা করছে।