Đối với điều này, bạn có thể sử dụng hàm DATEDIFF (). Ngày hiện tại như sau -
mysql> select now(); +---------------------+ | now() | +---------------------+ | 2019-06-09 19:15:56 | +---------------------+ 1 row in set (0.00 sec)
Đầu tiên chúng ta hãy tạo một bảng -
mysql> create table DemoTable -> ( -> ShippingDate datetime -> ); Query OK, 0 rows affected (0.66 sec)
Chèn một số bản ghi vào bảng bằng lệnh chèn -
mysql> insert into DemoTable values('2019-06-01'); Query OK, 1 row affected (0.19 sec) mysql> insert into DemoTable values('2019-06-02'); Query OK, 1 row affected (0.21 sec) mysql> insert into DemoTable values('2019-06-14'); Query OK, 1 row affected (0.18 sec) mysql> insert into DemoTable values('2019-05-21'); Query OK, 1 row affected (0.24 sec)
Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -
mysql> select *from DemoTable;
Đầu ra
+---------------------+ | ShippingDate | +---------------------+ | 2019-06-01 00:00:00 | | 2019-06-02 00:00:00 | | 2019-06-14 00:00:00 | | 2019-05-21 00:00:00 | +---------------------+ 4 rows in set (0.00 sec)
Sau đây là truy vấn để chọn các hàng cũ hơn một tuần. Giả sử ngày hiện tại là “2019-06-09”. Do đó, các hàng sẽ được chọn cũ hơn một tuần, tức là trước “2019-06-02” -
mysql> select *from DemoTable where DATEDIFF(now(),ShippingDate) > 7;
Đầu ra
+---------------------+ | ShippingDate | +---------------------+ | 2019-06-01 00:00:00 | | 2019-05-21 00:00:00 | +---------------------+ 2 rows in set (0.00 sec)