我要设置列值,只有当它不为空。更新列使用CASE表达式SQL
下面是示例
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
我要设置列值,只有当它不为空。更新列使用CASE表达式SQL
下面是示例
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
你必须设置如下更新列:
Declare @Temp Varchar(20)
Update Logins
Set ColValue = Case When @Temp <> '' Then @Temp
Else ColValue
End
Where Code=1
你可以检查你的变量在哪里不更新,当它是空白的
Declare @Temp Varchar(20)
Update Logins
Set ColValue = @Temp
Where Code=1 AND @Temp <> ''
我有多个列更新并希望在只有单个列申请条件 – Shaggy
@SagarDumbre好了,这种情况下,使用带有'ELSE ColValue'其他解决方案CASE :) –
http://stackoverflow.com /问题/ 14762374 /怎么办,我使用的情况下,在-SQL换我的,例如这可能帮助你 – gasroot