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

如何使用日期算術和子查詢在 MySQL 中產生日期範圍?

DDD
發布: 2025-01-19 01:07:08
原創
203 人瀏覽過

How to Generate Date Ranges in MySQL Using Date Arithmetic and Subqueries?

使用MySQL日期運算和子查詢產生日期範圍

在SQL中,檢索指定範圍內的日期清單可以透過組合使用日期運算和子查詢來實現。以下是完成此任務的方法:

為了產生兩個日期之間的日期列表,我們可以採用子查詢方法。嵌套的一組子查詢,每個子查詢產生一系列數字(從0到9),透過加法組合起來形成所需的日期值。

以下查詢示範了此技術:

<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) 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'(含)的日期清單。結果如下:

<code>date
----------
2012-02-10
2012-02-11
2012-02-12
2012-02-13
2012-02-14
2012-02-15</code>
登入後複製

此方法允許產生跨越近300年未來或過去的日期範圍。

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

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