Oracle
 sql >> Database >  >> RDS >> Oracle

collegati da mesi

Il modo migliore potrebbe essere quello di separare il generatore di righe dalla funzione data. Quindi genera un elenco da 0 a 6 e calcola i mesi da quello. Se vuoi passare i mesi, fallo nella clausola 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

L'esempio seguente ti consentirà di inserire le date necessarie per calcolare la differenza.

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