So sánh cột DATE/DATETIME với NOW() hoặc CURDATE() để lọc các bản ghi quá hạn hoặc trong quá khứ.
Ví dụ minh họa
Tạo bảng và chèn dữ liệu:
mysql> CREATE TABLE DemoTable1877 (DueDate DATETIME);
mysql> INSERT INTO DemoTable1877 VALUES('2019-12-10'),('2019-12-05'),('2019-12-07'),('2019-12-09');
Giả sử hôm nay 2019-12-08. Lọc ngày < hôm nay:
mysql> SELECT * FROM DemoTable1877 WHERE DueDate < NOW();
Kết quả (2019-12-05, 2019-12-07):
+---------------------+ | DueDate | +---------------------+ | 2019-12-05 00:00:00 | | 2019-12-07 00:00:00 | +---------------------+
Lưu ý: NOW() trả về DATETIME, so sánh với DATE sẽ chuyển DATE thành 00:00:00. Dùng CURDATE() cho so sánh thuần ngày. Index trên cột DueDate sẽ được sử dụng nếu không bọc trong hàm.