Oracle
 sql >> Base de données >  >> RDS >> Oracle

connecté par mois

La meilleure façon pourrait être de séparer le générateur de lignes de la fonction de date. Générez donc une liste de 0 à 6 et calculez les mois à partir de cela. Si vous voulez passer les mois, faites-le dans la clause 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'exemple ci-dessous vous permettra d'insérer les dates dont vous avez besoin pour faire la différence.

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