Để nhận dữ liệu lớn hơn 1 ngày kể từ ngày hiện tại, hãy sử dụng khái niệm INTERVAL trong MySQL.
Ngày hiện tại như sau -
mysql> select curdate(); +------------+ | curdate() | +------------+ | 2019-11-29 | +------------+ 1 row in set (0.00 sec)
Đầu tiên chúng ta sẽ tạo một bảng -
mysql> create table DemoTable1806 ( DueDate datetime ); Query OK, 0 rows affected (0.00 sec)
Chèn một số bản ghi vào bảng bằng lệnh chèn -
mysql> insert into DemoTable1806 values('2019-11-28'); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1806 values('2019-11-29'); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1806 values('2019-11-30'); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1806 values('2019-11-25'); Query OK, 1 row affected (0.00 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 DemoTable1806;
Điều này sẽ tạo ra kết quả sau -
+---------------------+ | DueDate | +---------------------+ | 2019-11-28 00:00:00 | | 2019-11-29 00:00:00 | | 2019-11-30 00:00:00 | | 2019-11-25 00:00:00 | +---------------------+ 4 rows in set (0.00 sec)
Đây là truy vấn để chọn các hàng cách ngày hiện tại> =1 ngày
mysql> select * from DemoTable1806 where DueDate >= now() - INTERVAL 1 DAY;
Điều này sẽ tạo ra kết quả sau -
+---------------------+ | DueDate | +---------------------+ | 2019-11-29 00:00:00 | | 2019-11-30 00:00:00 | +---------------------+ 2 rows in set (0.00 sec)