1.获取未来4年的年份序列
select to_char(add_months(sysdate, (level - 1) * 12), 'yyyy') as yearSeq
from dual
connect by level <= 4;
查询结果:
2.获取包含当季的过去4个季度,并升序排列
--获取当前季度并向前推4个季度
select to_char(add_months(trunc(sysdate, 'q'), -3 * level + 3), 'yyyy-q') quarter
from dual
connect by level <= 4
order by quarter;
查询结果:
说明:
--返回当季第一天
select trunc(to_date('2017-03-20', 'yyyy-mm-dd'), 'q') from dual;
查询结果:
有关trunc函数的详细用法见Oracle trunc()函数的用法