Sử dụng BETWEEN kết hợp INTERVAL để lọc ngày trong khoảng thời gian động tính từ ngày hiện tại.
Tạo bảng và dữ liệu
mysql> CREATE TABLE DemoTable (
-> AdmissionDate DATE
-> );
Query OK, 0 rows affected (0.84 sec)
mysql> INSERT INTO DemoTable VALUES('2019-09-30'), ('2019-10-01'), ('2019-03-30'), ('2019-04-24');
Query OK, 4 rows affected (0.19 sec)
Truy vấn: ngày từ 3 tháng trước đến hôm nay
mysql> SELECT * FROM DemoTable
-> WHERE AdmissionDate BETWEEN CURDATE() - INTERVAL 3 MONTH AND CURDATE();
Kết quả (giả sử CURDATE() = 2019-06-30):
+---------------+ | AdmissionDate | +---------------+ | 2019-03-30 | | 2019-04-24 | +---------------+ 2 rows in set (0.00 sec)
Lưu ý: CURDATE() trả về ngày hiện tại của server. INTERVAL 3 MONTH trừ đi 3 tháng.