我的问题类似于 这个 MySQL 问题,但是是针对 SQL Server 的:
是否有函数或查询将返回两个日期之间的天数列表?例如,假设有一个名为 ExplordeDates 的函数:
SELECT ExplodeDates('2010-01-01', '2010-01-13');
这将返回一个包含下列值的列表:
2010-01-01
2010-01-02
2010-01-03
2010-01-04
2010-01-05
2010-01-06
2010-01-07
2010-01-08
2010-01-09
2010-01-10
2010-01-11
2010-01-12
2010-01-13
我在想一个日历/数字表可能会对我有帮助。
更新
我决定查看一下提供的三个代码答案,执行结果(占整个批处理的百分比)如下:
越低越好
我已经接受了 Rob Farley 的答案,因为它是最快的,尽管数字表解决方案(KM 和 StingyJack 在他们的答案中都使用过)是我最喜欢的。Rob Farley 快了三分之二。
更新2
Alivia 的 回答要简洁得多。我已经改变了公认的答案。