我需要创建一个自定义季度计算器,无论我们处于哪个月,无论我们处于哪个年份,并且总是从上个月开始,然后倒计时以获得季度。上一年的武士编号为5,6等
因此,目标是将季度分组移后一个月。
假设我们在 12 月 11 日运行查询,结果应该是:
年 第一季度 QTR_ALT 2017 1 1 12 2017 2 1 12 2017 3 1 11 2017 4 2 11 2017 5 2 11 2017 6 2 10 2017 7 3 10 2017 8 3 10 2017 9 3 9 2017 10 4 9 2017 11 4 9 2017 12 4 8 2018 1 1 8 2018 2 1 8 2018 3 1 7 2018 4 2 7 2018 5 2 7 2018 6 2 6 2018 7 3 6 2018 8 3 6 2018 9 3 5 2018 10 4 5 2018 11 4 5 2018 12 4 1 2019 1 1 1 2019 2 1 1 2019 3 1 2 2019 4 2 2 2019 5 2 2 2019 6 2 3 2019 7 3 3 2019 8 3 3 2019 9 3 4 2019 10 4 4 2019 11 4 4 2019 12 4 跳过
起点是消除current_date因此数据在上个月的最后一天结束
选择不同 年 锰, PT3 从表 其中数据介于 (选择DATE_TRUNC(年,ADD_MONTHS(CURRENT_DATE,-24(((和 (选择DATE_TRUNC(月,CURRENT_DATE(-1( 按年份、百万年、季度排序
下面为您提供所需的所有日期,以及额外的列。
select to_char(add_months(a.dt, -b.y), 'YYYY') as year,
to_char(add_months(a.dt, -b.y), 'MM') as month,
ceil(to_number(to_char(add_months(a.dt, -b.y), 'MM')) / 3) as qtr,
ceil(b.y/3) as alt_qtr
from
(select trunc(sysdate, 'MONTH') as dt from dual) a,
(select rownum as y from dual connect by level <= 24) b;