Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Monate verbunden

Der beste Weg könnte sein, den Zeilengenerator von der Datumsfunktion zu trennen. Erstellen Sie also eine Liste von 0 bis 6 und berechnen Sie daraus Monate. Wenn Sie die Monate übergeben möchten, tun Sie dies in der with-Klausel

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

Im folgenden Beispiel können Sie die Daten eingeben, die Sie benötigen, um die Differenz zu ermitteln.

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