Cara terbaik adalah dengan memisahkan generator baris dari fungsi tanggal. Jadi buat daftar dari 0 hingga 6 dan hitung bulan dari itu. Jika Anda ingin melewatkan bulan, lakukan itu dalam klausa with
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
Contoh di bawah ini akan memungkinkan Anda untuk memasukkan tanggal yang Anda perlukan untuk mengetahui perbedaannya.
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