Để so sánh ngày tháng năm trong MySQL, bạn có thể sử dụng hàm DATE() để trích xuất phần ngày từ kiểu TIMESTAMP hoặc DATETIME.
Tạo bảng mẫu
mysql> CREATE TABLE DemoTable864(DueDateTime TIMESTAMP); Query OK, 0 rows affected (0.56 sec)
Chèn dữ liệu
mysql> INSERT INTO DemoTable864 VALUES('2019-01-10 12:34:55');
Query OK, 1 row affected (0.26 sec)
mysql> INSERT INTO DemoTable864 VALUES('2016-12-11 11:12:00');
Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO DemoTable864 VALUES('2015-04-01 10:00:00');
Query OK, 1 row affected (0.28 sec)
mysql> INSERT INTO DemoTable864 VALUES('2017-05-20 04:40:10');
Query OK, 1 row affected (0.17 sec)
Hiển thị toàn bộ dữ liệu
mysql> SELECT * FROM DemoTable864;
Kết quả:
+---------------------+ | DueDateTime | +---------------------+ | 2019-01-10 12:34:55 | | 2016-12-11 11:12:00 | | 2015-04-01 10:00:00 | | 2017-05-20 04:40:10 | +---------------------+ 4 rows in set (0.00 sec)
Truy vấn so sánh năm, tháng, ngày
mysql> SELECT * FROM DemoTable864 WHERE DATE(DueDateTime) = '2015-04-01';
Kết quả:
+-----------------------+ | DueDateTime | +-----------------------+ | 2015-04-01 10:00:00 | +-----------------------+ 1 row in set (0.04 sec)
Giải thích: Hàm DATE() loại bỏ phần giờ phút giây, chỉ giữ lại phần ngày để so sánh chính xác với chuỗi định dạng 'YYYY-MM-DD'.