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

Lấy các hàng cập nhật ở timestamp cũ hơn 1 ngày trong MySQL

Sử dụng FROM_UNIXTIME() kết hợp NOW() - INTERVAL 1 DAY.

Tạo bảng demo75 với cột Unix timestamp:

mysql> CREATE TABLE demo75 (
    -> due_date INT(11)
    -> );

Chèn dữ liệu (chuyển ngày thành Unix timestamp):

mysql> INSERT INTO demo75 VALUES(UNIX_TIMESTAMP('2020-01-10'));
mysql> INSERT INTO demo75 VALUES(UNIX_TIMESTAMP('2020-11-19'));
mysql> INSERT INTO demo75 VALUES(UNIX_TIMESTAMP('2020-12-18'));
mysql> INSERT INTO demo75 VALUES(UNIX_TIMESTAMP('2020-11-10'));

Hiển thị dữ liệu (dạng số):

mysql> SELECT * FROM demo75;
+------------+
| due_date   |
+------------+
| 1578594600 |
| 1605724200 |
| 1608229800 |
| 1604946600 |
+------------+

Truy vấn lấy các hàng có due_date cũ hơn 1 ngày so với hiện tại:

mysql> SELECT * FROM demo75
    -> WHERE FROM_UNIXTIME(due_date) < NOW() - INTERVAL 1 DAY;

Kết quả (giả sử NOW() là 2020-12-19):

+------------+
| due_date   |
+------------+
| 1578594600 |
| 1604946600 |
+------------+