Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Kiểm tra ngày đã qua (quá khứ) trong MySQL

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() thay CURDATE().