打印从年初到最后一天的所有日期
Print all days from beginning of year till last
我下面的代码没有正确执行。
请帮我打印哪里出错了。
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
您的代码中有两个问题:
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
尽情享受吧!
我下面的代码没有正确执行。 请帮我打印哪里出错了。
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
您的代码中有两个问题:
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
尽情享受吧!