SQL 日期函数如何获取季度?

MySQL用QUARTER(),SQL Server用DATEPART(quarter,),PostgreSQL等用EXTRACT(QUARTER FROM)来获取日期对应的季度。

在 SQL 中获取日期对应的季度,可以使用数据库自带的日期函数。不同数据库的语法略有差异,但大多数都支持提取季度的功能。

使用 QUARTER() 函数(MySQL)

MySQL 提供了 QUARTER() 函数,可以直接从日期中提取季度:

SELECT QUARTER('2025-05-15'); -- 返回 2(第二季度)

也可以对字段使用:

SELECT QUARTER(order_date) AS quarter FROM orders;

使用 DATEPART() 函数(SQL Server)

SQL Server 使用 DATEPART() 函数,并指定参数为 quarterqq

SELECT DATEPART(quarter, '2025-05-15'); -- 返回 2

应用于表字段:

SELECT DATEPART(qq, order_date) AS quarter FROM orders;

使用 EXTRACT() 函数(PostgreSQL、Oracle、SQLite 等)

PostgreSQL 和一些标准兼容的数据库使用 EXTRACT() 函数:

SELECT EXTRACT(QUARTER FROM DATE '2025-05-15'); -- 返回 2

查询表中的数据:

SELECT EXTRACT(QUARTER FROM order_date) AS quarter FROM orders;

基本上就这些常见用法。根据你使用的数据库选择对应函数即可。注意传入的值应为合法日期类型,否则可能返回 NULL 或报错。