Dùng BETWEEN với NOW() - INTERVAL 90 DAY. Tạo bảng:
mysql> CREATE TABLE DemoTable (DueDate DATE); Query OK, 0 rows affected (1.13 sec)
Chèn dữ liệu:
mysql> INSERT INTO DemoTable VALUES('2019-07-10'); Query OK, 1 row affected (0.10 sec)
mysql> INSERT INTO DemoTable VALUES('2019-09-02'); Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO DemoTable VALUES('2019-06-01'); Query OK, 1 row affected (0.25 sec)
mysql> INSERT INTO DemoTable VALUES('2019-05-10'); Query OK, 1 row affected (0.13 sec)
mysql> INSERT INTO DemoTable VALUES('2019-08-21'); Query OK, 1 row affected (0.14 sec)
Hiển thị dữ liệu:
mysql> SELECT * FROM DemoTable;
Kết quả:
+------------+ | DueDate | +------------+ | 2019-07-10 | | 2019-09-02 | | 2019-06-01 | | 2019-05-10 | | 2019-08-21 | +------------+ 5 rows in set (0.00 sec)
Truy vấn ngày từ 90 ngày trước đến hôm nay:
mysql> SELECT * FROM DemoTable WHERE DueDate BETWEEN NOW() - INTERVAL 90 DAY AND NOW();
Kết quả (giả sử NOW() = 2019-09-02):
+------------+ | DueDate | +------------+ | 2019-07-10 | | 2019-08-21 | +------------+ 2 rows in set (0.00 sec)
Lưu ý: NOW() trả về datetime, so sánh với DATE tự động ép kiểu. Dùng CURDATE() nếu chỉ so sánh ngày.