使用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中文網其他相關文章!