PostgreSQL で範囲内の日付リストを取得する
PostgreSQL では、指定された 2 つの日付間の日数のリストを次の方法で簡単に取得できます。 CURRENT_DATE 関数とgenerate_series() 関数の組み合わせ。このメソッドにより、日付の範囲と間隔を柔軟に定義できます。
CURRENT_DATE 関数は現在のシステム日付を返し、generate_series() 関数は指定されたパラメーターに基づいて日付のシーケンスを生成します。
例:
次のように考えます。シナリオ:
これら 2 つの日付間の日数のリストを取得するには、次のようにします。次のクエリを使用できます:
select CURRENT_DATE + i from generate_series(date '2012-06-29'- CURRENT_DATE, date '2012-07-03' - CURRENT_DATE ) i
出力は次のようになります。
29 june 2012 30 june 2012 1 july 2012 2 july 2012 3 july 2012
または、より簡潔なクエリを使用できます:
select i::date from generate_series('2012-06-29', '2012-07-03', '1 day'::interval) i
このクエリは、i 値を日付データ型に明示的にキャストします。出力には日付のみが含まれていることを確認します。
以上がPostgreSQLで特定の範囲内の日付リストを生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。