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

Oracle:SQLを使用して日付範囲間の日付を選択します

    これを試してください。

    WITH t (sdt, ldt) AS (SELECT MIN (START_DATE), MAX (END_DATE) FROM MY_DATES)
    SELECT *
      FROM (    SELECT sdt + LEVEL - 1 AS dates
                  FROM t
            CONNECT BY LEVEL <= ldt - sdt + 1) c
     WHERE EXISTS
              (SELECT 1
                 FROM MY_DATES d
                WHERE c.dates BETWEEN START_DATE AND END_DATE);
    

    デモ



    1. UNIXでSQLplusコマンドの内容を抑制しますか?

    2. フィールドがnullでない場合はMYSQLJOIN

    3. MySQL5.6は、サービスを開始しようとしているプロセスでスタックしました

    4. oraclesqlの動的ピボット-手順