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

Vytvoření CTE v Oracle

Můžete vytvořit svůj společný tabulkový výraz (CTE, faktoring poddotazů atd.) výběrem hodnot data z dual a sloučením všech dohromady:

with RTG_YEARS (YR) as (
  select to_date('2013-01-01', 'yyyy-mm-dd') from dual
  union all select to_date('2013-12-31', 'yyyy-mm-dd') from dual
  union all select to_date('2014-01-01', 'yyyy-mm-dd') from dual
  union all select to_date('2014-12-31', 'yyyy-mm-dd') from dual
  union all select to_date('2015-01-01', 'yyyy-mm-dd') from dual
  union all select to_date('2015-12-31', 'yyyy-mm-dd') from dual
)
select * from RTG_YEARS;

YR       
----------
2013-01-01
2013-12-31
2014-01-01
2014-12-31
2015-01-01
2015-12-31

Nesouvisí to s tím, že se jedná o CTE, ale psaní můžete trochu omezit použitím datových literálů:

with RTG_YEARS (YR) as (
  select date '2013-01-01' from dual
  union all select date '2013-12-31' from dual
  union all select date '2014-01-01' from dual
  union all select date '2014-12-31' from dual
  union all select date '2015-01-01' from dual
  union all select date '2015-12-31' from dual
)
select * from RTG_YEARS;



  1. Konverze se nezdařila při převodu hodnoty varchar 'simple,' na datový typ int

  2. Jak odstranit úvodní a/nebo koncové mezery řetězce v T-SQL

  3. Rozdíl mezi JOIN a INNER JOIN

  4. Django JSONField uvnitř ArrayField