一、目的:
输入年和季度,得到这一年这一季度的开始时间和结束时间。
输入参数: 年 季度
输出参数:季度开始时间 季度结束时间
二、实现:
WITH quarter_dates (year, quarter) AS (
-- 这里插入具体的年份和季度值
SELECT 2024, 2 FROM dual -- 假设我们要找的是2024年的第4季度
)
SELECT
TRUNC(TO_DATE(year || '-01-01', 'yyyy-mm-dd') + (quarter - 1) * INTERVAL '3' MONTH, 'Q') AS quarter_start,
TRUNC(TO_DATE(year || '-01-01', 'yyyy-mm-dd') + quarter * INTERVAL '3' MONTH, 'Q') - INTERVAL '1' DAY AS quarter_end
FROM quarter_dates;
三、结果:
输入参数:2024年2季度
输出参数:季度开始时间:2024-04-01 00:00:00
季度输出时间:2024-06-30 00:00:00
输入参数:2024年4季度
输出参数:季度开始时间:2024-10-01 00:00:00
季度输出时间:2024-12-31 00:00:00