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

MySQL truy vấn lấy ngày từ 00:00 đến giờ hiện tại của hôm nay

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()).