使用T-SQL,我想执行一个UPDATE语句,仅在相应的变量被定义时设置列。
这是一个简单的伪T-SQL示例,表达了我想要完成的目标:
--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
据我所知,通过阅读 T-SQL 中 IF 条件的工作原理,为了实现与上述伪代码相同的结果,我必须为每个 IF 条件创建一个 UPDATE 语句——而这正是我想避免的。
是否可能仅使用一个 UPDATE 语句根据条件动态设置字段/列呢? 如果是,怎么做?