Để so sánh ngày trong MySQL ngoại trừ phần thời gian của trường datetime, bạn có thể sử dụng hàm DATE (). Cú pháp như sau -
select *from yourTableName where date(yourColumName) = yourDate;
Để hiểu khái niệm trên, chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau -
mysql> create table ComparingDate −> ( −> Name varchar(100), −> Login datetime −> ); Query OK, 0 rows affected (0.50 sec)
Bây giờ bạn có thể chèn một số bản ghi trong bảng bằng cách sử dụng lệnh insert. Truy vấn như sau -
mysql> insert into ComparingDate values('John','2014-04-06 22:50:45'); Query OK, 1 row affected (0.15 sec) mysql> insert into ComparingDate values('Bob','2018-12-15 15:07:46'); Query OK, 1 row affected (0.14 sec) mysql> insert into ComparingDate values('Carol','2016-03-10 21:50:40'); Query OK, 1 row affected (0.18 sec) mysql> insert into ComparingDate values('David','1995-08-08 23:40:47'); Query OK, 1 row affected (0.14 sec)
Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select. Truy vấn như sau -
mysql> select *from ComparingDate;
Sau đây là kết quả -
+-------+---------------------+ | Name | Login | +-------+---------------------+ | John | 2014-04-06 22:50:45 | | Bob | 2018-12-15 15:07:46 | | Carol | 2016-03-10 21:50:40 | | David | 1995-08-08 23:40:47 | +-------+---------------------+ 4 rows in set (0.00 sec)
Đây là truy vấn để chỉ so sánh ngày, không phải thời gian -
mysql> select *from ComparingDate where date(Login) = '2016-03-10';
Sau đây là kết quả -
+-------+---------------------+ | Name | Login | +-------+---------------------+ | Carol | 2016-03-10 21:50:40 | +-------+---------------------+ 1 row in set (0.00 sec)