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

Truy vấn MySQL tìm ngày hết hạn trong 2 ngày tới

Để tìm các bản ghi có ngày hết hạn rơi trong khoảng 2 ngày tới kể từ hôm nay, bạn sử dụng toán tử BETWEEN kết hợp với hàm CURDATE().

Ví dụ minh họa

Tạo bảng:

mysql> create table DemoTable ( 
    ExpiryDate date 
);

Lưu ý: Giả sử ngày hiện tại là 2019-08-18.

Chèn dữ liệu:

mysql> insert into DemoTable values('2018-01-21');
mysql> insert into DemoTable values('2019-08-20');
mysql> insert into DemoTable values('2018-08-20');
mysql> insert into DemoTable values('2019-08-21');

Hiển thị dữ liệu:

mysql> select * from DemoTable;

Kết quả:

+------------+
| ExpiryDate |
+------------+
| 2018-01-21 |
| 2019-08-20 |
| 2018-08-20 |
| 2019-08-21 |
+------------+

Truy vấn tìm ngày hết hạn trong 2 ngày tới

mysql> select * from DemoTable where ExpiryDate between curdate() AND curdate() + 2;

Kết quả (với CURDATE() = 2019-08-18):

+------------+
| ExpiryDate |
+------------+
| 2019-08-20 |
+------------+

Giải thích:

  • CURDATE(): Trả về ngày hiện tại (2019-08-18)
  • CURDATE() + 2: Ngày sau 2 ngày (2019-08-20)
  • BETWEEN ... AND ...: Lấy các ngày từ hôm nay đến 2019-08-20 (kể cả 2 đầu)

Chỉ có 2019-08-20 rơi trong khoảng này. Cách này thường dùng cho hệ thống nhắc nhở hết hạn thẻ, đăng ký, bảo hành, v.v.