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

Lấy ngày đầu và cuối năm từ cột DATE trong MySQL

Sử dụng YEAR() để trích xuất năm từ cột DATE, sau đó lọc các hàng có năm bắt đầu hoặc kết thúc rơi vào năm mục tiêu.

Ví dụ minh họa

Tạo bảng với cột StartDate, EndDate:

mysql> CREATE TABLE DemoTable1843 (StartDate DATE, EndDate DATE);
mysql> INSERT INTO DemoTable1843 VALUES('2019-01-21','2019-10-12'),('2018-10-12','2018-12-31'),('2016-04-01','2017-05-02');

Lọc các hàng có năm 2018 ở StartDate HOẶC EndDate:

mysql> SELECT * FROM DemoTable1843
    WHERE YEAR(StartDate)='2018' OR YEAR(EndDate)='2018';

Kết quả:

+------------+------------+
| StartDate  | EndDate    |
+------------+------------+
| 2018-10-12 | 2018-12-31 |
+------------+------------+

Mở rộng: Để lấy ngày đầu năm (01-01) và cuối năm (12-31) của một năm cụ thể, dùng MAKEDATE(year,1) và LAST_DAY(MAKEDATE(year,12)).