【发布时间】:2011-03-16 05:46:16
【问题描述】:
使用 T-SQL,我想执行一个 UPDATE 语句,只有在定义了相应的变量时才会设置列。
这是我想要完成的一个简单的伪 tsql 示例:
--Declaring vars
@ID int,
@Name nvarchar(20),
@Password nvarchar(10)
--Run the update
UPDATE User
SET
IF LEN(@NAME) > 0
Name = @Name,
IF LEN(@Password) > 0
Password = @Password
通过阅读 IF 条件在 T-SQL 中的工作原理,我可以看出,为了实现与上述伪代码相同的结果,我必须为每个 IF 条件创建一个 UPDATE 语句 - 这就是我的我尽量避免这样做。
是否可以仅使用一个 UPDATE 语句根据条件动态设置字段/列? - 如果有,怎么做?
【问题讨论】:
标签: sql-server tsql conditional