Có 3 cách trích xuất Year và Month trong MySQL:
1. Dùng hàm EXTRACT()
Trích xuất Year và Month cùng lúc với đối số YEAR_MONTH. Dữ liệu từ Collegedetail:
mysql> SELECT EXTRACT(YEAR_MONTH FROM estb) FROM collegedetail; +-------------------------------+ | EXTRACT(YEAR_MONTH FROM estb) | +-------------------------------+ | 201005 | | 199510 | | 199409 | | 200107 | | 201007 | +-------------------------------+ 5 rows in set (0.00 sec)
2. Dùng hàm DATE_FORMAT()
Trích xuất cả hai hoặc riêng lẻ, còn định dạng output.
mysql> SELECT DATE_FORMAT(estb, '%Y %m') FROM collegedetail; +----------------------------+ | DATE_FORMAT(estb, '%Y %m') | +----------------------------+ | 2010 05 | | 1995 10 | | 1994 09 | | 2001 07 | | 2010 07 | +----------------------------+ 5 rows in set (0.00 sec) mysql> SELECT DATE_FORMAT(estb, '%Y') FROM Collegedetail; +-------------------------+ | DATE_FORMAT(estb, '%Y') | +-------------------------+ | 2010 | | 1995 | | 1994 | | 2001 | | 2010 | +-------------------------+ 5 rows in set (0.00 sec) mysql> SELECT DATE_FORMAT(estb, '%m') FROM Collegedetail; +-------------------------+ | DATE_FORMAT(estb, '%m') | +-------------------------+ | 05 | | 10 | | 09 | | 07 | | 07 | +-------------------------+ 5 rows in set (0.00 sec) mysql> SELECT DATE_FORMAT(estb, '%M') FROM Collegedetail; +-------------------------+ | DATE_FORMAT(estb, '%M') | +-------------------------+ | May | | October | | September | | July | | July | +-------------------------+ 5 rows in set (0.10 sec)
3. Dùng hai hàm YEAR() và MONTH() riêng biệt
mysql> SELECT YEAR(estb) AS 'Year', MONTH(estb) AS 'MONTH' FROM collegedetail; +------+-------+ | Year | MONTH | +------+-------+ | 2010 | 5 | | 1995 | 10 | | 1994 | 9 | | 2001 | 7 | | 2010 | 7 | +------+-------+ 5 rows in set (0.00 sec)