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

Truy vấn MySQL lấy ngày gần hơn 14 ngày (so với ngày hiện tại)

Tạo bảng ngày đến

mysql> CREATE TABLE DemoTable1392 (ArrivalDate DATE);
INSERT INTO DemoTable1392 VALUES
('2019-09-10'),('2019-09-26'),('2019-09-12'),('2018-09-20'),('2019-10-11');

Dữ liệu

mysql> SELECT * FROM DemoTable1392;
+-------------+
| ArrivalDate |
+-------------+
| 2019-09-10  |
| 2019-09-26  |
| 2019-09-12  |
| 2018-09-20  |
| 2019-10-11  |
+-------------+

Ngày hiện tại

mysql> SELECT CURDATE(); -- 2019-09-26

Truy vấn: DATE_SUB(CURDATE(), INTERVAL 14 DAY)

mysql> SELECT * FROM DemoTable1392
    -> WHERE ArrivalDate > DATE_SUB(CURDATE(), INTERVAL 14 DAY);

Kết quả: 2 hàng (2019-09-26 và 2019-10-11)

+-------------+
| ArrivalDate |
+-------------+
| 2019-09-26  |
| 2019-10-11  |
+-------------+

Giải thích: DATE_SUB(CURDATE(), INTERVAL 14 DAY) trả về ngày 14 ngày trước hôm nay. Điều kiện > lấy các ngày sau ngày đó (tức là trong 14 ngày gần nhất, kể cả hôm nay). Dùng >= nếu muốn bao gồm ngày mốc.