So sánh cột ngày với CURDATE() (ngày hiện tại) để lọc ngày đã qua hoặc chưa qua.
Ví dụ minh họa
Tạo bảng deadline:
mysql> CREATE TABLE DemoTable1340 (Deadline DATE);
Chèn dữ liệu (có ngày quá khứ, hiện tại, tương lai):
mysql> INSERT INTO DemoTable1340 VALUES('2019-09-18'), ('2019-09-23'), ('2018-12-24'), ('2016-11-01'), ('2019-09-28');
Xem dữ liệu & ngày hiện tại:
mysql> SELECT * FROM DemoTable1340; mysql> SELECT CURDATE(); -- 2019-09-21
Lọc ngày chưa qua (Deadline >= hôm nay):
mysql> SELECT * FROM DemoTable1340 WHERE Deadline >= CURDATE();
Kết quả (23/9 và 28/9 chưa qua):
+------------+ | Deadline | +------------+ | 2019-09-23 | | 2019-09-28 | +------------+
Biến thể:
- Ngày đã qua (quá khứ):
WHERE Deadline < CURDATE() - Ngày hôm nay:
WHERE Deadline = CURDATE() - Với DATETIME: dùng
NOW()thayCURDATE().