Oracle Databaseで2つの日付の間に日、週、または月を生成する方法 (2021/06/01)
Oracle Databaseで2つの日付の間に日、週、または月を生成する方法 (2021/06/01) https://blogs.oracle.com/sql/how-to-generate-days-weeks-or-months-between-two-dates-in-oracle-database 投稿者: Chris Saxon | Developer Advocate Oracle Databaseで行を生成 するには多くのコツがあります。最も簡単なのは、レベル別に接続する方法です。 select level rn from dual connect by level <= 3; RN 1 2 3 これを使って、2つの日付の間のすべての日数を取り出すことができます。 最後の日付から最初の日付を引いて日数を得る この数の行を生成する (終了日を出力に含める場合は 1 つ追加) 現在の行番号(マイナス1)を開始日に加える 6月8日から14日までの各日の行を作成するには、次のようにします。 select date'2021-06-08' + level - 1 dt from dual connect by level <= ( date'2021-06-14' - date'2021-06-08' + 1 ); DT 08-Jun-2021 09-Jun-2021 10-Jun-2021 11-Jun-2021 12-Jun-2021 13-Jun-2021 14-Jun-2021 簡単でしょう? しかし、これは2つの日付の間のすべての日を求める場合にのみ機能します。タイムスタンプを扱っている場合や、各行の間に異なる期間を設定したい場合(例:週、月、年)は、このクエリを調整する必要があります。 この記事では、以下の方法を学びます。 Get the days between timestamps Generate rows from the oldest to the newest date in a table Return...