sql >> Database >  >> RDS >> Oracle

verbonden door maanden

De beste manier is misschien om de rijgenerator te scheiden van de datumfunctie. Genereer dus een lijst van 0 tot 6 en bereken daaruit de maanden. Als je de maanden wilt doorgeven, doe dat dan in de met-clausule

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

In het onderstaande voorbeeld kunt u de data invoeren die u nodig heeft om het verschil te berekenen.

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


  1. Het gebruik van select in de ELSE van een CASE-instructie geeft me ORA-00937:geen groepsfunctie met één groep

  2. Vraag kolomnamen op uit een tabel van een andere gebruiker

  3. Inzicht in SQL Server ALTER TABLE ADD COLUMN-instructie

  4. MariaDB JSON_CONTAINS() uitgelegd