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

Lấy bản ghi có ngày hôm nay và ngày mai từ cột DATE trong MySQL

Để 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()).