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

Chọn bản ghi 15 ngày trước ngày hiện tại trong MySQL

Sử dụng DATE_SUB(NOW(), INTERVAL 15 DAY) để tính thời điểm 15 ngày trước, sau đó so sánh với cột ngày.

Ví dụ minh họa

Tạo bảng và chèn dữ liệu:

mysql> CREATE TABLE DemoTable1845 (ArrivalDate DATE);
mysql> INSERT INTO DemoTable1845 VALUES('2019-12-02'),('2019-11-18'),('2019-12-18'),('2019-12-25'),('2019-11-15');

Giả sử ngày hiện tại là 2019-12-02:

mysql> SELECT * FROM DemoTable1845
    WHERE ArrivalDate < DATE_SUB(NOW(), INTERVAL 15 DAY);

Kết quả (chỉ 2019-11-15 < 2019-11-17):

+-------------+
| ArrivalDate |
+-------------+
| 2019-11-15  |
+-------------+

Lưu ý: NOW() trả về DATETIME, so sánh với DATE sẽ chuyển DATE thành DATETIME 00:00:00. Dùng CURDATE() nếu chỉ làm việc với ngày.