我想获取最后 4 个季度的数据,包括当前季度的数据。
假设如果我运行查询30-MAR-2019
然后我想要来自的数据01-APR-2018
to 31-MAR-2019
如果我运行查询01-apr-2019
然后我想要之间的数据01-JUL-2018
and 30-JUN-2019
你能帮我同样的事吗
棘手的部分是获取该季度的最后一天。
该解决方案通过从目标日期减去 9 个月,然后用截断来计算范围的开始日期'Q'
面具为我们提供了本季度的第一天。然后我们计算该日期again,减去一天,然后加上十二个月,得到当前季度的最后一天:
with tgt as ( select date '2019-03-30' as dt from dual
union all select date '2019-02-28' as dt from dual
union all select date '2019-04-01' as dt from dual
)
select trunc(tgt.dt - interval '9' month, 'Q') as range_st,
(trunc(tgt.dt - interval '9' month, 'Q') - 1) + interval '12' month as range_end
from tgt
/
可能有更巧妙的解决方案,但我的咖啡休息时间到此结束了:)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)