使用標準日期演算法在 PostgreSQL 中建立跨越多年的時間序列可能具有挑戰性。 更可靠的方法是利用時間戳記。
解:
此查詢有效地產生跨年的每日時間序列:
<code class="language-sql">SELECT date_trunc('day', dd)::date FROM generate_series ('2007-02-01'::timestamp , '2008-04-01'::timestamp , '1 day'::interval) dd;</code>
其工作原理如下:
::timestamp
明確轉換為時間戳。這確保了年份邊界的準確處理。 generate_series
函數: generate_series
函數建立一連串時間戳,以一天遞增('1 day'::interval)。 date_trunc('day', dd)
將每個時間戳截斷為一天的開始,::date
將結果轉換為 date
資料類型以獲得更清晰的輸出。 即使在處理不同年份的日期時,這種方法也能保證準確的時間序列產生。
以上是如何在 PostgreSQL 中產生年度時間序列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!