開發查詢以顯示所有日期並用零填充缺失值
使用日期範圍時,通常有必要考慮缺少資料點。本綜合指南提供了一個解決方案,解決顯示兩個給定日期之間的所有日期並向缺失行分配零值的問題。
為了解決此問題,我們可以利用名為「d」的公用表表達式 (CTE) 。此 CTE 產生指定範圍內的一系列日期。然後,我們可以在 CTE 和原始「臨時」表之間執行左連接以獲得所需的結果。
這是修改後的查詢:
;with d(date) as ( select cast('10/01/2012' as datetime) union all select date+1 from d where date < '10/15/2012' ) select t.ID, d.date CDate, isnull(t.val, 0) val from d left join temp t on t.CDate = d.date order by d.date OPTION (MAXRECURSION 0) -- use this if your dates are >99 days apart
此修改後的查詢確保所有缺失捕獲日期,並用零填充相應的「val」列。新增「OPTION (MAXRECURSION 0)」語句來處理日期範圍超過 99 天的情況。
以上是如何使用 SQL 顯示某個範圍內的所有日期並用零填入缺失值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!