我的程序中有一个if else
块。根据今天的日期,在该块中设置临时变量的值@timeID
。IF..ELSE块不能正常工作SQL
declare @timeId int
if(datename(Dw,getdate())='Sunday' or datename(Dw,getdate())='Saturday')
begin
set @timeId=2
end
if(datename(Dw,getdate())!='Sunday' or datename(Dw,getdate())!='Saturday')
begin
if(convert(varchar(11),getdate(),108)<='08:30:00')
begin
set @timeId=0
end
else
begin
set @timeId=1
end
end
select @timeId as TimeID
由于今天是周六,@timeID
必须设置等于2 但输出显示@timeId=1
从而导致错误的结果从我的程序。请帮助什么是错的。
select datename(Dw,getdate())
回报周六
我想条件'if(convert(varchar(11),getdate(),108)<='08:30:00')'变成false并且if(datename (Dw,getdate())!='Sunday'或datename(Dw,getdate())!='Saturday')'是真的。 – TechDo