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

Tìm kiếm ngày sinh (DOB) trong MySQL chỉ so sánh năm (yyyy)

Sử dụng hàm YEAR() trích xuất năm từ cột DATE/DATETIME để so sánh.

Ví dụ minh họa

Tạo bảng:

mysql> CREATE TABLE DemoTable1322 (DOB DATE);

Chèn dữ liệu:

mysql> INSERT INTO DemoTable1322 VALUES('1999-04-12'), ('2010-12-01'), ('2015-03-09'), ('2007-05-24');

Xem dữ liệu:

mysql> SELECT * FROM DemoTable1322;
+------------+
| DOB        |
+------------+
| 1999-04-12 |
| 2010-12-01 |
| 2015-03-09 |
| 2007-05-24 |
+------------+

Tìm bản ghi năm 2015:

mysql> SELECT * FROM DemoTable1322 WHERE YEAR(DOB) = '2015';

Kết quả:

+------------+
| DOB        |
+------------+
| 2015-03-09 |
+------------+

Mẹo hiệu năng: YEAR(DOB) = 2015 không dùng index trên cột DOB. Để tận dụng index:

WHERE DOB >= '2015-01-01' AND DOB < '2016-01-01'

Hoặc MySQL 8.0+: WHERE DOB BETWEEN '2015-01-01' AND '2015-12-31 23:59:59'.