Để trích xuất năm từ định dạng ngày, bạn có thể sử dụng hàm tích hợp sẵn YEAR () từ MySQL. Truy vấn như sau -
mysql> SELECT YEAR(curdate()) as OnlyYearFromCurrentDate;
Sau đây là kết quả -
+-------------------------+ | OnlyYearFromCurrentDate | +-------------------------+ | 2018 | +-------------------------+ 1 row in set (0.00 sec)
Hoặc bạn có thể làm theo cách sau -
mysql> SELECT YEAR(date(now())) as OnlyYearFromCurrentDate;
Sau đây là kết quả -
+-------------------------+ | OnlyYearFromCurrentDate | +-------------------------+ | 2018 | +-------------------------+ 1 row in set (0.00 sec)
Với điều đó, bạn thậm chí có thể đạt được điều này khi cột là varchar. Đầu tiên chúng ta hãy tạo một bảng -
mysql> create table ExtractYearDemo −> ( −> YourDueTime varchar(200) −> ); Query OK, 0 rows affected (1.15 sec)
Chèn các bản ghi vào bảng với sự trợ giúp của lệnh insert. Truy vấn như sau -
mysql> insert into ExtractYearDemo values('27-10-2011'); Query OK, 1 row affected (0.16 sec) mysql> insert into ExtractYearDemo values('28-11-2012'); Query OK, 1 row affected (0.15 sec) mysql> insert into ExtractYearDemo values('29-12-2018'); Query OK, 1 row affected (0.14 sec) mysql> insert into ExtractYearDemo values('01-01-2019'); Query OK, 1 row affected (0.15 sec)
Hiển thị tất cả các bản ghi từ bảng với sự trợ giúp của câu lệnh SELECT. Truy vấn như sau -
mysql> select *from ExtractYearDemo;
Sau đây là kết quả -
+-------------+ | YourDueTime | +-------------+ | 27-10-2011 | | 28-11-2012 | | 29-12-2018 | | 01-01-2019 | +-------------+ 4 rows in set (0.00 sec)
Sau đây là truy vấn để trích xuất năm từ cột trong bảng khi cột có kiểu varchar -
mysql> select YEAR(STR_TO_DATE(yourDueTime, "%d-%m-%Y")) As OnlyYearFromDate from ExtractYearDemo;
Sau đây là kết quả hiển thị năm -
+------------------+ | OnlyYearFromDate | +------------------+ | 2011 | | 2012 | | 2018 | | 2019 | +------------------+ 4 rows in set (0.00 sec)