建立 SQL 查詢時,通常需要使用一系列日期。為了滿足這種需求,SQL 包含了產生日期序列的功能。讓我們探討如何產生一系列日期來幫助執行查詢。
一個常見的場景是產生代表去年的日期序列。要使用純 SQL 實現此目的,您可以使用以下查詢:
SELECT TRUNC(SYSDATE - ROWNUM) dt FROM DUAL CONNECT BY ROWNUM < 366
此查詢利用 Oracle 的 DUAL 表,這是一個具有單行和一列的表,它充當用於生成順序。 CONNECT BY 子句啟用遞迴查詢執行,透過遞減 SYSDATE(目前系統日期)建立日期序列。 ROWNUM 偽列提供迭代計數,並指定
或者,您可以產生日期偏移量而不是完整日期,並將其應用到您的日期參數:
SELECT SYSDATE - val FROM (SELECT 0 + LEVEL - 1 val FROM DUAL CONNECT BY LEVEL < 366)
此查詢使用LEVEL 偽列產生一系列日期偏移量,它可以與SYSDATE 結合產生一系列日期偏移
在實作這些解決方案時請記住考慮資料庫的特定語法和功能,以確保相容性和效率。
以上是如何在 SQL 中產生日期範圍?的詳細內容。更多資訊請關注PHP中文網其他相關文章!