You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何提取YYYYQ格式季度标识,按Report_date所属范围返回对应季度结果

按日期匹配季度功能实现方案

规则说明

根据需求,季度匹配逻辑为自然季度划分:

  • 每年1-3月的日期,对应输出格式为YYYYQ1
  • 每年4-6月的日期,对应输出格式为YYYYQ2
  • 每年7-9月的日期,对应输出格式为YYYYQ3
  • 每年10-12月的日期,对应输出格式为YYYYQ4

实现思路

核心逻辑为两步:

  1. 提取日期字段的年份值
  2. 根据月份值计算所属季度编号,最终将年份、固定字符Q、季度编号拼接为要求的格式即可。

不同数据库的实现代码

MySQL

SELECT 
  Report_date,
  CONCAT(YEAR(Report_date), 'Q', CEIL(MONTH(Report_date)/3)) AS quarter
FROM ABC;

PostgreSQL

SELECT 
  Report_date,
  CONCAT(EXTRACT(YEAR FROM Report_date), 'Q', CEIL(EXTRACT(MONTH FROM Report_date)::NUMERIC / 3)) AS quarter
FROM ABC;

Oracle

Oracle原生支持直接通过日期格式化函数输出要求格式,无需手动计算季度:

SELECT 
  Report_date,
  TO_CHAR(Report_date, 'YYYY"Q"Q') AS quarter
FROM ABC;

SQL Server

SELECT 
  Report_date,
  CONCAT(YEAR(Report_date), 'Q', DATEPART(QUARTER, Report_date)) AS quarter
FROM ABC;

效果验证

输入示例中的2020-01-31、2020-02-29、2020-03-31三个日期时,以上所有查询返回的季度标识均为2020Q1,完全符合需求要求。

内容的提问来源于stack exchange,提问作者Dhivya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 03:27:02