問題:
指定された 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 サイトの他の関連記事を参照してください。