SQL变量if语句
我有一个导致以下错误的问题SQL变量if语句,sql,sql-server,Sql,Sql Server,我有一个导致以下错误的问题 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_w
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 if
这就是错误:Msg 156,级别15,状态1,第5行关键字“then”附近的语法不正确。您的代码中有多个语法错误,这只是第一个
if
/else
结束后没有if
开始
和结束
将代码包装在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;
代码中有多个语法错误,这只是第一个
if
/else
结束后没有if
开始
和结束
将代码包装在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;
如果,则在SQL Server中不使用
之后的。错误消息似乎很清楚。然后在之后不在SQL Server中使用,如果。错误信息似乎很清楚。