De beste manier is misschien om de rijgenerator te scheiden van de datumfunctie. Genereer dus een lijst van 0 tot 6 en bereken daaruit de maanden. Als je de maanden wilt doorgeven, doe dat dan in de met-clausule
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
In het onderstaande voorbeeld kunt u de data invoeren die u nodig heeft om het verschil te berekenen.
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