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

Chọn hàng có ngày trong khoảng 90 ngày trước đến nay trong MySQL

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.