作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 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 语句根据条件动态设置字段/列? - 如果是这样,怎么办?
最佳答案
UPDATE User
SET
Name = CASE WHEN LEN(@NAME) > 0 THEN @Name ELSE Name END,
Password = CASE WHEN LEN(@Password) > 0 THEN @Password ELSE Password END
WHERE
...
关于sql-server - 在 T-SQL UPDATE 语句中实现 IF 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3252935/
我是一名优秀的程序员,十分优秀!