sql >> Base de Datos >  >> RDS >> Oracle

conectados por meses

La mejor manera podría ser separar el generador de filas de la función de fecha. Así que genere una lista del 0 al 6 y calcule los meses a partir de eso. Si desea pasar los meses, hágalo en la cláusula 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

El siguiente ejemplo le permitirá ingresar las fechas que necesita para calcular la diferencia.

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