可能重复:
SQL Server 2008生成一系列日期时间
我必须遍历startDate和endDate
SELECT语句应该生成结果为..
预期产出:
------------
Date
------------
09/01/2012 -> startDate
09/02/2012
09/03/2012
.
.
.
.
09/30/2012 -> endDate
Run Code Online (Sandbox Code Playgroud)
我试过了
declare @startDate datetime , @endDate endDate
set @startDate='09/01/2012'
set @endDate='09/30/2012'
while DATEDIFF(@startDate,@endDate)!=-1
begin
select @startDate as Date
set @startDate = DATEADD(day,2,@startDate)
end
Run Code Online (Sandbox Code Playgroud)
但它没有成功..
它产生30个输出..
我希望单个输出中的日期与预期输出中的日期相同.
我在哪里错了?
Ale*_* K. 10
这将为每次迭代提供每个循环迭代的结果集select.
如果您希望每次迭代将单个结果集插入临时表/变量,则从中选择或
;with T(day) as
(
select @startDate as day
union all
select day + 1
from T
where day < @endDate
)
select day as [Date] from T
Run Code Online (Sandbox Code Playgroud)