如何在sql server 2005中获取x和y之间的日期表

dig*_*uru 10 sql-server date procedure temp-tables

我只想要一个快速的方法(最好不要使用while循环)来创建一个日期@x和日期@y之间的每个日期的表,这样我就可以将外部联接留给一些统计表,其中一些表没有确定的记录介于两者之间,允许我用0来标记缺失的日子

Big*_*ump 18

严格来说,这并不完全回答你的问题,但它非常整洁.

假设您可以指定开始日期之后的天数,那么使用公用表表达式可以:

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 )
Run Code Online (Sandbox Code Playgroud)