Kiểu YEAR(2) lưu năm 2 chữ số (ví dụ 69 cho 1969). Phạm vi: 1970-2069 (70-69). MySQL diễn giải năm 2 chữ số theo quy tắc:
- 00-69 → 2000-2069
- 70-99 → 1970-1999
Không nên lưu năm 2 chữ số vì gây mơ hồ về thế kỷ.
Ví dụ minh họa:
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)
Giá trị '00' được MySQL hiểu là năm 2000, không phải 1900. Gây nhầm lẫn khi truy vấn.