YEAR(2) จัดเก็บปี 2 หลัก เช่น 69 → 1969 ช่วงปีที่รองรับ: 1970-2069 (เก็บเป็น 70-69)
MySQL แปลงปี 2 หลักด้วยกติกา:
00-69→2000-206970-99→1970-1999
ปัญหา: ค่า 00 อาจหมายถึง 1900 หรือ 2000 MySQL ตีความเป็น 2000 ทำให้เกิดความคลุมเครือ
ตัวอย่าง
mysql> CREATE TABLE year_test(val YEAR(2));
mysql> INSERT INTO year_test(val) VALUES('70'),('00');
mysql> SELECT * FROM year_test;
+-----+
| val |
+-----+
| 70 |
| 00 |
+-----+
mysql> SELECT * FROM year_test WHERE val = '1970';
+-----+
| val |
+-----+
| 70 |
+-----+
mysql> SELECT * FROM year_test WHERE val = '2000';
+-----+
| val |
+-----+
| 00 |
+-----+
mysql> SELECT * FROM year_test WHERE val = '1900';
Empty set
00 ถูกตีความเป็น 2000 ไม่ใช่ 1900 ควรใช้ปี 4 หลักเสมอเพื่อความชัดเจน