我有一个问题,导致下面的错误。
declare @transDate datetime = GETDATE();
declare @main_work_center as varchar(50) = 'PMOM';
declare @team as varchar(1) = '';
declare @full_work_center as varchar(50);
IF(@team = '' OR @team IS NULL) then
@full_work_center = @main_work_center;
else
@full_work_center = @main_work_center + @team;
end ifTHis是错误:Msg156,Level 15,State 1,Line 5在关键字'then‘附近语法不正确。
发布于 2016-07-30 02:20:30
你的代码中有多个语法错误,这只是第一个。
在if/else
end
之后没有set之前,if/else
then不能与set一起使用为了清楚起见,我喜欢用begin和end将代码包装在if/else的两个块中,就像其他语言中的花括号一样。
完全更正的代码:
declare @transDate datetime = GETDATE();
declare @main_work_center as varchar(50) = 'PMOM';
declare @team as varchar(1) = '';
declare @full_work_center as varchar(50);
IF(@team = '' OR @team IS NULL)
begin
set @full_work_center = @main_work_center;
end
else
begin
set @full_work_center = @main_work_center + @team;
end;https://stackoverflow.com/questions/38665173
复制相似问题