【发布时间】:2013-01-07 13:45:30
【问题描述】:
declare @timeid int
if(datename(Dw,getdate())='Monday')
begin
set @timeid=3
end
Else if(datename(Dw,getdate())='Sunday' or datename(Dw,getdate())='Saturday')
begin
set @timeId=2
end
ELSE -- for Tuesday to Friday
begin
if(convert(varchar(11),getdate(),108)<='08:30:00')
begin
set @timeId=1
end
else
begin
set @timeId=0
end
end
select @timeid
正在抛出错误:
消息 156,第 15 级,状态 1,第 13 行
关键字“Else”附近的语法不正确。
消息 102,第 15 级,状态 1,第 32 行
'@timeid' 附近的语法不正确。
请帮忙。
【问题讨论】:
-
GETDATE() 对你的输出是什么?
-
@Nalaka526,我看不出
GETDATE()的结果有什么影响,因为这是一个编译时错误。 -
今天日期.. 2013-01-07 08:43:18.843
-
这实际上为我运行,在 SQL Server Express 2008 R2 中(输出为 2)。您运行的是什么版本的 SQL Server?
-
小心“@timeid”和“@timeId”
标签: sql sql-server tsql sql-server-2005