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

Chọn hàng bằng cách trừ ngày trong mệnh đề WHERE trong MySQL

Sử dụng hàm TIMESTAMPDIFF(). Tạo bảng demo42:

mysql> CREATE TABLE demo42 (
    -> start_date DATETIME
    -> );

Chèn dữ liệu:

mysql> INSERT INTO demo42 VALUES('2020-01-10 12:30:05');
mysql> INSERT INTO demo42 VALUES('2019-02-24 10:40:45');
mysql> INSERT INTO demo42 VALUES('2020-05-12 05:45:55');
mysql> INSERT INTO demo42 VALUES('2020-05-12 05:40:55');
mysql> INSERT INTO demo42 VALUES('2020-05-12 05:42:55');

Hiển thị dữ liệu:

mysql> SELECT * FROM demo42;

Kết quả:

+---------------------+
| start_date          |
+---------------------+
| 2020-01-10 12:30:05 |
| 2019-02-24 10:40:45 |
| 2020-05-12 05:45:55 |
| 2020-05-12 05:40:55 |
| 2020-05-12 05:42:55 |
+---------------------+

Truy vấn chọn các hàng có khoảng cách ít hơn 5 phút so với thời điểm '2020-05-12 05:40:55':

mysql> SELECT * FROM demo42
    -> WHERE ABS(TIMESTAMPDIFF(MINUTE, start_date, '2020-05-12 05:40:55')) < 5;

Kết quả:

+---------------------+
| start_date          |
+---------------------+
| 2020-05-12 05:40:55 |
| 2020-05-12 05:42:55 |
+---------------------+