Computer >> Máy Tính >  >> Lập trình >> MySQL

Truy vấn MySQL để chọn các hàng cũ hơn một tuần?

Đố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)