Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Tworzenie CTE w Oracle

Możesz utworzyć wspólne wyrażenie tabelowe (CTE, faktoring podzapytania itp.), wybierając wartości dat z wartości podwójnych i łącząc je wszystkie razem:

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

Nie jest to związane z CTE, ale możesz nieco zredukować pisanie, używając literałów dat:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zadeklarować wyjątek zdefiniowany przez użytkownika przy użyciu zmiennej wyjątku w bazie danych Oracle

  2. 4 sposoby wstawiania wielu wierszy w Oracle

  3. Jak używać aliasu w klauzuli Gdzie?

  4. TO_CHAR(liczba) Funkcja w Oracle

  5. Problem polegający na tym, że zmienne wiążące Oracle nie używają poprawnie indeksu