ホームページ >データベース >mysql チュートリアル >PostgreSQLで特定の範囲内の日付リストを生成するにはどうすればよいですか?

PostgreSQLで特定の範囲内の日付リストを生成するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-26 00:02:10581ブラウズ

How to Generate a Date List within a Specific Range in PostgreSQL?

PostgreSQL で範囲内の日付リストを取得する

PostgreSQL では、指定された 2 つの日付間の日数のリストを次の方法で簡単に取得できます。 CURRENT_DATE 関数とgenerate_series() 関数の組み合わせ。このメソッドにより、日付の範囲と間隔を柔軟に定義できます。

CURRENT_DATE 関数は現在のシステム日付を返し、generate_series() 関数は指定されたパラメーターに基づいて日付のシーケンスを生成します。

例:

次のように考えます。シナリオ:

  • 開始日: 2012 年 6 月 29 日
  • 終了日: 2012 年 7 月 3 日

これら 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。