首頁 >資料庫 >mysql教程 >如何使用 SELECT 查詢在 MySQL 中產生日期範圍?

如何使用 SELECT 查詢在 MySQL 中產生日期範圍?

Susan Sarandon
Susan Sarandon原創
2025-01-19 01:26:08704瀏覽

How to Generate a Date Range in MySQL Using a SELECT Query?

使用 MySQL SELECT 查詢產生日期範圍

許多應用都需要在指定日期範圍內取得一系列日期。 MySQL SELECT 查詢可以實現此目的。

查詢建構

要產生兩個給定日期之間的日期列表,可以使用以下查詢:

<code class="language-sql">SELECT * FROM
(SELECT ADDDATE('1970-01-01', t4.i * 10000 + t3.i * 1000 + t2.i * 100 + t1.i * 10 + t0.i) AS selected_date FROM
 (SELECT 0 i UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t0,
 (SELECT 0 i UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t1,
 (SELECT 0 i UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t2,
 (SELECT 0 i UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t3,
 (SELECT 0 i UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t4) v
WHERE selected_date BETWEEN '2012-02-10' AND '2012-02-15';</code>

此查詢產生從 '2012-02-10' 到 '2012-02-15' 的日期範圍,每個日期作為結果集中的單行顯示。

說明

主查詢中的巢狀 SELECT 語句用於建構日期清單。每個 SELECT 語句產生從 0 到 9 的一位數字序列。然後使用 " " 運算子組合這些序列以形成完整的日期字串。 "ADDDATE" 函數用於將這些數字新增至 '1970-01-01' 以產生所需的日期範圍。

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

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