Sử dụng hàm MONTH() và YEAR() để trích xuất tháng, năm từ cột DATE/DATETIME để lọc dữ liệu.
Ví dụ minh họa
Tạo bảng và chèn dữ liệu:
mysql> CREATE TABLE DemoTable1846 (PurchaseDate DATE);
mysql> INSERT INTO DemoTable1846 VALUES('2019-01-10'),('2019-12-24'),('2018-09-21'),('2017-10-26');
Lọc tháng 12 năm 2019:
mysql> SELECT * FROM DemoTable1846
WHERE MONTH(PurchaseDate)=12 AND YEAR(PurchaseDate)=2019;
Kết quả:
+--------------+ | PurchaseDate | +--------------+ | 2019-12-24 | +--------------+
Mẹo tối ưu: Tránh dùng hàm trên cột trong WHERE nếu bảng lớn (không dùng index). Hãy dùng điều kiện phạm vi:
WHERE PurchaseDate >= '2019-12-01' AND PurchaseDate < '2020-01-01'