mssql sqlserver使用系统表spt_values生成连续日期的方法分享


我们知道sql脚本生成一个连续时间段的方法,有很多种,例:游标遍历 while循环,
下文讲述一种全新的方法,根据spt_values中的数据,快速生成一小段连续日期的方法分享,如下所示:
实验环境:sql server 2008 R2


实现思路:
使用master..spt_values数据表中流水号和日期进行叠加生成连续的日期数据

    ---生成2019-10-1 ~2020-1-1 之间的连续数据
 SELECT DATEADD(DAY, number, CONVERT(DATETIME, '2019-10-01')) [猫猫小屋之连续日期] 
FROM master..spt_values
WHERE type = 'P'
      AND number
      BETWEEN 0 AND DATEDIFF(DAY, '2019-10-01','2020-1-1')-1;

相关阅读:
master数据库spt_values表简介
mssql sqlserver 使用sql脚本生成两个日期之间的连续日期的方法分享