我只想要一个快速的方式(最好不要使用while循环)在日期@x和date @y之间创建每个日期的表,所以我可以将外部连接留下到一些stats表,其中一些将没有一定的记录之间的日子,允许我用0表示错过的日子
解决方法
严格来说这并不完全符合你的问题,而是很整洁.
假设您可以指定开始日期后的天数,然后使用通用表格表达式,您可以:
WITH numbers ( n ) AS ( SELECT 1 UNION ALL SELECT 1 + n FROM numbers WHERE n < 500 ) SELECT DATEADD(day,n-1,'2008/11/01') FROM numbers OPTION ( MAXRECURSION 500 )