答案:SQL中提取年份和月份需根据数据库类型选择函数。PostgreSQL、Oracle等使用EXTRACT(YEAR FROM date)和EXTRACT(MONTH FROM date);MySQL支持YEAR(date)和MONTH(date);SQL Server则用DATEPART(YEAR, date)和DATEPART(MONTH, date),字段需为DATE或DATETIME类型。

在 SQL 中提取年份和月份,常用的是 EXTRACT 函数或特定数据库提供的日期函数。不同数据库语法略有差异,但功能相似。
使用 EXTRACT 函数(适用于 PostgreSQL、MySQL、Oracle 等)
EXTRACT 可以从日期或时间戳中提取年、月、日等部分。
- 提取年份:
EXTRACT(YEAR FROM 日期字段) - 提取月份:
EXTRACT(MONTH FROM 日期字段)
示例:
SELECT EXTRACT(YEAR FROM order_date) AS 年份, EXTRACT(MONTH FROM order_date) AS 月份 FROM orders;MySQL 中的 YEAR() 和 MONTH() 函数
MySQL 提供了更简洁的函数:
- YEAR(日期字段):返回四位数年份
- MONTH(日期字段):返回 1-12 的月份数字
示例:
SELECT YEAR(order_date) AS 年份, MONTH(order_date) AS 月份 FROM orders;SQL Server 使用 DATEPART
SQL Server 不支持 EXTRACT,而是用 DATEPART:
SELECT DATEPART(YEAR, order_date) AS 年份, DATEPART(MONTH, order_date) AS 月份 FROM orders;基本上就这些。根据你使用的数据库选择对应函数即可,功能都一样,只是写法不同。注意字段类型应为 DATE 或 DATETIME 类型才能正确提取。










