ホームページ >データベース >mysql チュートリアル >PostgreSQL で日付範囲を生成するには?

PostgreSQL で日付範囲を生成するには?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-03 17:32:40916ブラウズ

How to Generate a Date Range in PostgreSQL?

PostgreSQL を使用した日付範囲の生成

問題:

指定された 2 つの日付間の日付のリストを取得する必要がありますを含めて、PostgreSQL データベースから取得します。たとえば、開始日が 2012 年 6 月 29 日、終了日が 2012 年 7 月 3 日である場合、望ましい出力は次のようになります:

29 June 2012
30 June 2012 
1 July 2012 
2 July 2012 
3 July 2012

解決策:

PostgreSQL では、generate_series() 関数を使用して、範囲内の日付のシーケンスを効率的に生成できます。次のクエリは、目的の出力を提供します:

select CURRENT_DATE + i 
from generate_series(date '2012-06-29'- CURRENT_DATE, 
     date '2012-07-03' - CURRENT_DATE ) i

代替のより簡潔な構文は次のとおりです:

select i::date from generate_series('2012-06-29', 
  '2012-07-03', '1 day'::interval) i

どちらのクエリも指定された日付範囲を生成し、間隔を調整できます。必要に応じてパラメータを使用して、時間、週、月などのさまざまな時間単位に基づいて範囲を生成します。

以上がPostgreSQL で日付範囲を生成するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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