Sử dụng hàm YEAR() trích xuất năm từ cột DATE/DATETIME để so sánh.
Ví dụ minh họa
Tạo bảng:
mysql> CREATE TABLE DemoTable1322 (DOB DATE);
Chèn dữ liệu:
mysql> INSERT INTO DemoTable1322 VALUES('1999-04-12'), ('2010-12-01'), ('2015-03-09'), ('2007-05-24');
Xem dữ liệu:
mysql> SELECT * FROM DemoTable1322;
+------------+ | DOB | +------------+ | 1999-04-12 | | 2010-12-01 | | 2015-03-09 | | 2007-05-24 | +------------+
Tìm bản ghi năm 2015:
mysql> SELECT * FROM DemoTable1322 WHERE YEAR(DOB) = '2015';
Kết quả:
+------------+ | DOB | +------------+ | 2015-03-09 | +------------+
Mẹo hiệu năng: YEAR(DOB) = 2015 không dùng index trên cột DOB. Để tận dụng index:
WHERE DOB >= '2015-01-01' AND DOB < '2016-01-01'
Hoặc MySQL 8.0+: WHERE DOB BETWEEN '2015-01-01' AND '2015-12-31 23:59:59'.