SQL 查询,用于从日期开始获取季度和月份/年份



在一列中,我有日期 -01-02-2022, 01-03-2022

我怎样才能以以下格式获得它

ABS_DATE                    Quarter            Month 
01-02-2022                  Q1 2022             02/2022
30-03-2021                  Q1 2021             03/2021
29-12-2020                  Q4 2020             12/2020

您可以使用to_char()函数将日期转换为所需的任何格式,包括季度:

to_char(abs_date, 'DD-MM-YYYY') as abs_date
to_char(abs_date, '"Q"Q YYYY') as quarter
to_char(abs_date, 'MM/YYYY') as month

引用的"Q"是字符字面,不要与未引用的Q混淆,后者是"一年中的四分之一"的元素。

使用 CTE 对示例数据进行演示:

with your_table (abs_date) as (
select date '2022-02-01' from dual
union all
select date '2021-03-30' from dual
union all
select date '2020-12-29' from dual
)
select abs_date as raw_date,
to_char(abs_date, 'DD-MM-YYYY') as abs_date,
to_char(abs_date, '"Q"Q YYYY') as quarter,
to_char(abs_date, 'MM/YYYY') as month
from your_table
MONTHstyle="文本对齐:左;">01-FEB-22style="文本对齐:左;">30-MAR-21style="文本对齐:左;">29-DEC-20
RAW_DATEABS_DATEQUARTER
01-02-2022Q1 202202/2022
30-03-2021Q1 202103/2021
29-12-2020Q4 202012/2020

最新更新