sql >> Databáze >  >> RDS >> Oracle

propojeno po měsících

Nejlepším způsobem by mohlo být oddělení generátoru řádků od funkce data. Vygenerujte tedy seznam od 0 do 6 a z toho vypočítejte měsíce. Pokud chcete předat měsíce, udělejte to v klauzuli 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

Níže uvedený příklad vám umožní zapojit data, která potřebujete, abyste zjistili rozdíl.

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. Nejlepší způsob, jak odstranit hodnotu z pole SET?

  2. jak číst soubor csv v jquery pomocí frameworku codeigniter

  3. Proč Eclipse navrhuje objekt jako výchozí typ mapování pro datový typ Text?

  4. MySQL WHERE IN Query - ORDER BY Match