使用SQL 偵測連續日期範圍
簡介
為日曆應用程式時準備程式,通常需要從日期序列中提取連續的日期範圍。這項任務可能具有挑戰性,尤其是當日期間隔不一致時。
使用SQL 的解決方案
要使用SQL 解決此問題,我們可以採用以下方法:
SQL 查詢
以下 SQL 查詢實作上述方法:
WITH t AS ( SELECT InfoDate d,ROW_NUMBER() OVER(ORDER BY InfoDate) i FROM table_name GROUP BY InfoDate ) SELECT MIN(d),MAX(d) FROM t GROUP BY DATEDIFF(day,i,d)
結果
查詢將產生以下結果輸出:
StartDate | EndDate |
---|---|
2013-12-04 | 2013-12-06 |
2013-12-09 | 2013-12-10 |
2014-01-01 | 2014-01-03 |
2014-01-06 | 2014-01-07 |
2014-01-29 | 2014-01-31 |
2014-02-03 | 2014-02-04 |
此輸出提供原始資料中所有連續日期範圍的開始日期和結束日期。
以上是SQL 如何辨識連續的日期範圍?的詳細內容。更多資訊請關注PHP中文網其他相關文章!