sql >> データベース >  >> RDS >> Oracle

OracleでのCTEの作成

    デュアルから日付値を選択し、それらをすべて結合することで、共通テーブル式(CTE、サブクエリファクタリングなど)を作成できます。

    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
    

    CTEであることに関係ありませんが、日付リテラルを使用することで入力を少し減らすことができます:

    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. MySQLのBITとTINYINTの違いは何ですか?

    2. 行あたり8060バイト、(varchar、nvarchar)値あたり8000バイトの制限にどのように到達しますか?

    3. SQLServer2017のインストール

    4. postgresqlのwhere句の列エイリアスにアクセスします