首頁 > 資料庫 > mysql教程 > 如何在 MySQL 和 SQL Server 中產生兩個日期之間的日期清單?

如何在 MySQL 和 SQL Server 中產生兩個日期之間的日期清單?

Barbara Streisand
發布: 2025-01-22 04:42:08
原創
301 人瀏覽過

How to Generate a List of Dates Between Two Dates in MySQL and SQL Server?

產生兩個日期之間的日期列表

MySQL 提供標準函數來檢索指定日期範圍內的日期清單。步驟如下:

1. 建立預存程序:

建立一個預存程序來產生所需的日期區間。 make_intervals 預存程序可以建立不同類型的區間,包括天、分鐘和秒。

2. 過程代碼:

<code class="language-sql">CREATE PROCEDURE make_intervals(
    startdate timestamp, 
    enddate timestamp, 
    intval integer, 
    unitval varchar(10)
)
BEGIN
    -- ... (存储过程代码,请参考答案中的完整代码)
END;</code>
登入後複製

3. 範例區間產生:

要產生 2009-01-01 到 2009-01-10 之間的日期列表,請執行以下命令:

<code class="language-sql">call make_intervals('2009-01-01 00:00:00', '2009-01-10 00:00:00', 1, 'DAY');</code>
登入後複製

4. 與您的資料連結:

將產生的日期區間(位於 time_intervals 臨時表中)與您的資料表連接,即可根據需要聚合資料。

範例資料場景:

類似地,您可以為 SQL Server 建立一個函數。此函數產生與問題中提到的類似結果:

<code class="language-sql">CREATE FUNCTION GetDateList(@StartDate DATETIME, @EndDate DATETIME, @Interval INT, @Unit VARCHAR(10))
RETURNS TABLE
AS
BEGIN
    DECLARE @ThisDate DATETIME = @StartDate;
    WHILE @ThisDate <= @EndDate
    -- ... (函数代码,请参考答案中的完整代码)
END;</code>
登入後複製

以上是如何在 MySQL 和 SQL Server 中產生兩個日期之間的日期清單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板