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).