Giả sử ngày hiện tại là 2019-07-22.
Tạo bảng demo
mysql> create table DemoTable705 (ShippingDate datetime); Query OK, 0 rows affected (0.67 sec)
Chèn dữ liệu
mysql> insert into DemoTable705 values('2019-01-21 23:59:00');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable705 values('2019-07-22 00:00:30');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable705 values('2019-07-21 12:01:30');
Query OK, 1 row affected (0.44 sec)
Hiển thị dữ liệu
mysql> select * from DemoTable705;
Kết quả
+---------------------+ | ShippingDate | +---------------------+ | 2019-01-21 23:59:00 | | 2019-07-22 00:00:30 | | 2019-07-21 12:01:30 | +---------------------+ 3 rows in set (0.00 sec)
Truy vấn lấy bản ghi ngày hôm nay (CURDATE())
mysql> select * from DemoTable705 where DATE(ShippingDate) = CURDATE();
Kết quả - Chỉ bản ghi 2019-07-22
+---------------------+ | ShippingDate | +---------------------+ | 2019-07-22 00:00:30 | +---------------------+ 1 row in set (0.00 sec)
Giải thích:
CURDATE(): Trả về ngày hiện tại (DATE), tương đươngDATE(NOW())nhưng ngắn gọn hơn.DATE(ShippingDate): Trích xuất ngày từ datetime.- So sánh
DATE(cot) = CURDATE()khớp toàn bộ ngày bất kể giờ.
Các hàm ngày liên quan:
CURDATE()/CURRENT_DATE(): Ngày hôm nay.CURTIME()/CURRENT_TIME(): Giờ hiện tại.NOW()/CURRENT_TIMESTAMP(): Ngày giờ hiện tại.UTC_DATE(),UTC_TIME(),UTC_TIMESTAMP(): Theo múi giờ UTC.
Tối ưu index: WHERE ShippingDate >= CURDATE() AND ShippingDate < CURDATE() + INTERVAL 1 DAY.