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

Cách so sánh Năm, Tháng, Ngày trong truy vấn MySQL và hiển thị bản ghi khớp

Để 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'.