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

Truy vấn MySQL lấy các bản ghi trước ngày hiện tại + 2 tuần

Truy vấn MySQL lấy các bản ghi trước ngày hiện tại cộng thêm 2 tuần

Để thực hiện việc này, hãy sử dụng cú pháp sau:

select * from ten_bang_cua_ban where ten_cot_cua_ban < DATE_ADD(CURDATE(), INTERVAL 2 WEEK);

Lưu ý: Ngày hiện tại như sau:

mysql> select curdate(); 
+------------+ 
| curdate() | 
+------------+ 
| 2019-10-20 | 
+------------+ 
1 row in set (0.00 sec)

Tạo bảng và chèn dữ liệu mẫu

Đầu tiên, tạo một bảng:

mysql> create table DemoTable1607 ( ShippingDate date ) ; 
Query OK, 0 rows affected (0.58 sec)

Chèn một số bản ghi vào bảng:

mysql> insert into DemoTable1607 values('2019-10-20'); Query OK, 1 row affected (0.12 sec) 
mysql> insert into DemoTable1607 values('2019-11-04'); Query OK, 1 row affected (0.14 sec) 
mysql> insert into DemoTable1607 values('2019-10-05'); Query OK, 1 row affected (0.10 sec) 
mysql> insert into DemoTable1607 values('2019-09-21'); Query OK, 1 row affected (0.18 sec)

Hiển thị tất cả bản ghi từ bảng:

mysql> select * from DemoTable1607;

Kết quả đầu ra:

+--------------+ 
| ShippingDate | 
+--------------+ 
| 2019-10-20   | 
| 2019-11-04   | 
| 2019-10-05   | 
| 2019-09-21   | 
+--------------+ 
4 rows in set (0.00 sec)

Truy vấn lấy các bản ghi có ngày trước ngày hiện tại + 2 tuần

mysql> select * from DemoTable1607 where ShippingDate < DATE_ADD(CURDATE(), INTERVAL 2 WEEK);

Kết quả đầu ra (với ngày hiện tại là 2019-10-20, cộng 2 tuần thành 2019-11-03):

+--------------+ 
| ShippingDate | 
+--------------+ 
| 2019-10-20   | 
| 2019-10-05   | 
| 2019-09-21   | 
+--------------+ 
3 rows in set (0.06 sec)

Giải thích: Bản ghi '2019-11-04' không được chọn vì nó lớn hơn hoặc bằng 2019-11-03 (ngày hiện tại + 2 tuần).