我简短地解释一下问题。
select distinct DATE from #Table where DATE >='2016-01-01'
输出:
Date
2016-11-23
2016-11-22
2016-11-21
2016-11-19
2016-11-18
现在我需要找出缺失的日期,并与“2016”年的日历日期进行比较
即这里缺少日期“2016-11-20”。
我想要缺失日期的列表。
感谢您阅读本文。祝你有愉快的一天。
最佳答案
您需要生成日期并且必须找到丢失的日期。下面用递归 cte 我已经完成了
;WITH CTE AS
(
SELECT CONVERT(DATE,'2016-01-01') AS DATE1
UNION ALL
SELECT DATEADD(DD,1,DATE1) FROM CTE WHERE DATE1<'2016-12-31'
)
SELECT DATE1 MISSING_ONE FROM CTE
EXCEPT
SELECT * FROM #TABLE1
option(maxrecursion 0)
关于sql - 与日历比较查找缺失的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40797748/