Yêu cầu
Lấy các bản ghi có DueDate từ đầu ngày hôm nay (00:00:00) đến thời điểm hiện tại (NOW()).
1. Tạo bảng
mysql> create table DemoTable (
DueDate datetime
);
Query OK, 0 rows affected (0.66 sec)
2. Chèn dữ liệu
mysql> insert into DemoTable values('2019-09-14');
mysql> insert into DemoTable values('2019-09-14 08:00:10');
mysql> insert into DemoTable values('2019-09-14 08:44:00');
mysql> insert into DemoTable values('2019-09-14 12:10:00');
3. Xem dữ liệu
mysql> select * from DemoTable;
+---------------------+ | DueDate | +---------------------+ | 2019-09-14 00:00:00 | | 2019-09-14 08:00:10 | | 2019-09-14 08:44:00 | | 2019-09-14 12:10:00 | +---------------------+ 4 rows in set (0.00 sec)
4. Truy vấn từ 00:00 đến NOW()
mysql> select * from DemoTable
where DueDate > DATE(NOW()) and DueDate < NOW();
Kết quả (giả sử NOW() = 2019-09-14 08:50:10):
+---------------------+ | DueDate | +---------------------+ | 2019-09-14 08:00:10 | | 2019-09-14 08:44:00 | +---------------------+ 2 rows in set (0.00 sec)
Giải thích: DATE(NOW()) trả về phần ngày (00:00:00). Điều kiện DueDate > DATE(NOW()) loại bỏ chính xác 00:00:00; nếu muốn bao gồm 00:00:00, dùng DueDate >= DATE(NOW()).