Để so sánh cột kiểu DATETIME chỉ với phần ngày (bỏ qua giờ), sử dụng hàm DATE().
Cú pháp
SELECT * FROM tenBang WHERE DATE(tenCotDateTime) = 'yyyy-mm-dd';
Ví dụ thực hành
Tạo bảng và chèn dữ liệu:
mysql> create table DemoTable (
ArrivalTime datetime
);
Query OK, 0 rows affected (0.74 sec)mysql> insert into DemoTable values('2019-01-31 02:34:56');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable values('2019-04-09 18:20:58');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values('2019-05-11 19:45:23');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values('2019-02-03 21:10:02');
Query OK, 1 row affected (0.16 sec)Dữ liệu gốc:
+---------------------+ | ArrivalTime | +---------------------+ | 2019-01-31 02:34:56 | | 2019-04-09 18:20:58 | | 2019-05-11 19:45:23 | | 2019-02-03 21:10:02 | +---------------------+ 4 rows in set (0.00 sec)
Truy vấn so sánh chỉ ngày
mysql> select *from DemoTable where Date(ArrivalTime)='2019-04-09';
+---------------------+ | ArrivalTime | +---------------------+ | 2019-04-09 18:20:58 | +---------------------+ 1 row in set (0.00 sec)
Mẹo hiệu năng: Với bảng lớn, hãy cân nhắc dùng phạm vi ngày thay vì hàm DATE() trên cột để tận dụng index:
WHERE ArrivalTime >= '2019-04-09' AND ArrivalTime < '2019-04-10'