首頁 >資料庫 >mysql教程 >如何使用generate_series在PostgreSQL中產生日期範圍?

如何使用generate_series在PostgreSQL中產生日期範圍?

Patricia Arquette
Patricia Arquette原創
2024-12-29 21:27:17862瀏覽

How to Generate a Date Range in PostgreSQL Using generate_series?

在 PostgreSQL 中產生日期範圍

決定指定範圍內的日期是程式設計中常見的任務。在 PostgreSQL 中,這可以使用 generate_series 函式來實現。

使用 generate_series,您可以依照起點、終點產生日期序列,和一個間隔。間隔可以天、月、年或其他時間單位指定。

範例:

假設您有以下需求:

  • 開始日期:2012年6月29日
  • 結束日期:7月3日, 2012

要產生此範圍內的日期列表,您可以使用以下查詢:
select CURRENT_DATE + i 
from generate_series(date '2012-06-29'- CURRENT_DATE, 
     date '2012-07-03' - CURRENT_DATE ) i

此查詢產生從2012 年6 月29 日到7 月的日期序列2012年3月3日,間隔1天。結果將是:
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

這兩個查詢都有效產生所需的日期PostgreSQLSQL中的範圍。

以上是如何使用generate_series在PostgreSQL中產生日期範圍?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn