mssql sqlserver 使用sql脚本快速产生连续日期的方法分享


摘要:
下文讲述使用sql脚本生成连续日期的方法,如下所示:
实验环境:sql server 2008 R2

例:快速生成连续日期的方法1:

实现思路:
使用 master.dbo.spt_values 表中流水号和指定日期叠加生成连续日期信息,
由于master.dbo.spt_values表中只有2048个数字,所以最多只能生成2048个连续日期。
—-
如果我们需生成的连续日期超过2048条,此时我们可以通过虚拟一个流水表,然后手动插入流水表的行数,达到生成更多连续日期的目的

--- 生成连续日期
declare @startDate datetime
declare @endDate diatomite

set @startDate ='2019-06-16'
set @endDate ='2019-12-26'

select dateadd(DAY,number,@startDate) as [连续日期]
  from master.dbo.spt_values  where type ='P'
  and number <=DATEDIFF(DAY, @startDate, @endDate)