問題:
您需要擷取兩個指定日期之間的日期列表,包含在內,來自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中文網其他相關文章!