在MySQL中產生兩個日期之間的日期列表
MySQL 提供了強大的函數,可以有效地產生指定日期範圍內的日期序列,從而檢索該範圍內的所有日期。
MySQL預存程序
可以使用預存程序建立名為time_intervals
的臨時表,其中包含所需的日期序列:
<code class="language-sql">CREATE PROCEDURE make_intervals(startdate timestamp, enddate timestamp, intval integer, unitval varchar(10)) BEGIN -- ... (存储过程代码,与上面答案中提供的代码相同) END;</code>
使用方法範例
要產生'2009-01-01'和'2009-01-13'之間每天的日期列表,可以使用以下命令:
<code class="language-sql">CALL make_intervals('2009-01-01', '2009-01-13', 1, 'DAY'); SELECT * FROM time_intervals;</code>
輸出結果
<code>interval_start interval_end ------------------- ------------------- 2009-01-01 00:00:00 2009-01-01 23:59:59 2009-01-02 00:00:00 2009-01-02 23:59:59 2009-01-03 00:00:00 2009-01-03 23:59:59 2009-01-04 00:00:00 2009-01-04 23:59:59 2009-01-05 00:00:00 2009-01-05 23:59:59 2009-01-06 00:00:00 2009-01-06 23:59:59 2009-01-07 00:00:00 2009-01-07 23:59:59 2009-01-08 00:00:00 2009-01-08 23:59:59 2009-01-09 00:00:00 2009-01-09 23:59:59 2009-01-10 00:00:00 2009-01-10 23:59:59 2009-01-11 00:00:00 2009-01-11 23:59:59 2009-01-12 00:00:00 2009-01-12 23:59:59 2009-01-13 00:00:00 2009-01-13 23:59:59</code>
以上是如何在 MySQL 中產生兩個給定日期之間的日期清單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!