Den bedste måde kan være at adskille rækkegeneratoren fra datofunktionen. Så generer en liste fra 0 til 6 og beregn måneder ud fra det. Hvis du vil sende månederne ind, så gør det i med-klausulen
with my_counter as (
Select Level-1 as id
from dual
connect by Level <= 7
)
select to_char(add_months(sysdate, id),'YYYYMM') from my_counter
Eksemplet nedenfor giver dig mulighed for at tilslutte de datoer, du har brug for, for at finde ud af forskellen.
with my_counter as (
Select Level-1 as id
from dual
connect by level <= months_between(add_months(trunc(sysdate,'MM'), 6),
trunc(sysdate,'MM')) + 1
)
select to_char(add_months(trunc(sysdate, 'MM'), id),'YYYYMM') from my_counter