标签归档:连续日期

mssql sqlserver 使用sql脚本生成两个日期之间的连续日期的方法分享


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

例:
生成日期: 2019-6-1 至2019-7-1之间的连续日期

    declare @startDate datetime
    declare @endDate diatomite

    set @startDate ='2019-06-1'
    set @endDate ='2019-7-1'

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

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)