我想仅在列值不为空时设置列值。
这是样本
Declare @Temp Varchar(20)
Update Logins
Set ColValue =
Case When @Temp <> '' Then @Temp Else /* Dont SET Value */ End
Where Code=1
在Else
部分写什么?
我有多列要更新,并且只想在单列
中应用条件DB:SQL SERVER 2008
答案 0 :(得分:3)
您必须将更新后的列设置如下:
Declare @Temp Varchar(20)
Update Logins
Set ColValue = Case When @Temp <> '' Then @Temp
Else ColValue
End
Where Code=1
答案 1 :(得分:0)
您可以检查WHERE中的变量,当它变为空白时根本不更新
Declare @Temp Varchar(20)
Update Logins
Set ColValue = @Temp
Where Code=1 AND @Temp <> ''