如何在 MySQL 中从日期中提取年份和月份?
mysqlmysqli database更新于 2024/3/14 10:58:00
在 MySQL 中可以使用以下三种方法完成
通过使用 EXTRACT() 函数
要同时提取年份和月份,我们可以使用 EXTRACT 函数。我们需要提供 YEAR_MONTH 作为此函数的参数。要理解它,请考虑使用表"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)
通过使用 DATE_FORMAT() 函数
它可以同时或分别提取年份和月份。顾名思义,我们还可以格式化其输出。为了理解它,请考虑以下使用表"Collegedetail"中的数据的示例 −
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)
通过使用两个不同的函数,YEAR() 和 MONTH()
它将使用两个不同的函数分别提取年份和月份。要理解它,请考虑以下使用表"Collegedetail"中的数据的示例 −
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)