gpt4 book ai didi

sql-server - 在 T-SQL UPDATE 语句中实现 IF 条件

转载 作者:行者123 更新时间:2023-12-02 02:30:55 24 4
gpt4 key购买 nike

使用 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 语句根据条件动态设置字段/列? - 如果是这样,怎么办?

最佳答案

CASE expression

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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com