获取指定区域月份或日期前后时间或者月份
一.获取指定时间的前或者后N天的日期 格式为 yyyy-MM-dd
(1)获取2017-07-21的前15天
SELECT TO_CHAR(TO_DATE('2017-07-21', 'yyyy-MM-dd') + ROWNUM -15, 'yyyy-MM-dd') as daylist
FROM DUAL
CONNECT BY ROWNUM <=15
(2)获取2017-07-21上月同日的前15天
SELECT TO_CHAR(TO_DATE('2017-07-21', 'yyyy-MM-dd') + ROWNUM -45, 'yyyy-MM-dd') as daylist
FROM DUAL
CONNECT BY ROWNUM <=15
二.获取指定时间的前或者后N月的日期 格式为 yyyy-MM
(1)获取2017-7的前十二月
SELECT TO_CHAR(ADD_MONTHS(TO_DATE('2017-7', 'yyyy-MM'), ROWNUM -12),'yyyy-MM') as monthlist
FROM DUAL
CONNECT BY ROWNUM <= 12
(2)获取2017-7去年 同期的前十二月
SELECT TO_CHAR(ADD_MONTHS(TO_DATE('2017-7', 'yyyy-MM'), ROWNUM -24),'yyyy-MM') as monthlist
FROM DUAL
CONNECT BY ROWNUM <= 12