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

Chọn ngày trong khoảng từ hiện tại đến 3 tháng trước trong MySQL

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.