我的下面的代码没有正确执行。 请帮我打印错误的地方。
alter procedure dbo.display
as
begin
declare @start date
declare @end date
set @start=DATEADD(yy,DATEDIFF(yy,0,getdate()),0)
set @end =DATEADD(yy,DATEDIFF(yy,0,getdate())+1,-1)
while(@start>@end)
begin
select @start
end
set @start=DATEADD(DD,1,@start)
end
答案 0 :(得分:1)
您的代码中存在两个问题:
while
条件(应为<
,而不是>
)set
。请尝试以下代码:
declare @start date
declare @end date
set @start = DATEADD(yy, DATEDIFF(yy, 0, GETDATE()), 0)
set @end = DATEADD(yy, DATEDIFF(yy, 0, GETDATE()) + 1, -1)
while(@start <= @end)
begin
print @start
set @start = DATEADD(DD,1,@start)
end
享受!