Để lọc các bản ghi có ngày bằng hôm nay hoặc ngày mai, dùng toán tử IN kết hợp CURDATE() và CURDATE() + INTERVAL 1 DAY.
Ví dụ minh họa
Tạo bảng:
mysql> create table DemoTable (
AdmissionDate date
);
Chèn dữ liệu:
mysql> insert into DemoTable values('2019-08-24');
mysql> insert into DemoTable values('2019-08-25');
mysql> insert into DemoTable values('2019-08-20');
Hiển thị dữ liệu:
mysql> select * from DemoTable;
Kết quả:
+---------------+ | AdmissionDate | +---------------+ | 2019-08-24 | | 2019-08-25 | | 2019-08-20 | +---------------+
Truy vấn lọc hôm nay và ngày mai
mysql> select * from DemoTable where AdmissionDate IN(curdate(), curdate() + interval 1 day);
Kết quả (giả sử CURDATE() = 2019-08-24):
+---------------+ | AdmissionDate | +---------------+ | 2019-08-24 | | 2019-08-25 | +---------------+
Giải thích:
CURDATE(): Ngày hôm nay (2019-08-24)CURDATE() + INTERVAL 1 DAY: Ngày mai (2019-08-25)IN(val1, val2): Khớp nếu AdmissionDate bằng val1 HOẶC val2- 2019-08-20 không khớp → bị loại
Mở rộng: Lấy 7 ngày tới: WHERE AdmissionDate BETWEEN CURDATE() AND CURDATE() + INTERVAL 7 DAY. Lấy tuần này: WHERE YEARWEEK(AdmissionDate) = YEARWEEK(CURDATE()).