gpt4 book ai didi

如果参数不为 null 或为空,则 SQL 更新

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

我搜索了一些方法来检查 SQL Server 参数是否不为 null 或为空,但我不确定在更新多个列时使用此参数的最佳方法是什么:

我一开始有这样的代码,它在不检查空值或 Null 值的情况下进行更新:

UPDATE [Users] 
SET FirstName = @firstname, City = @city, Address = @address, ....
WHERE ID = @iduser

然后我在更新之前添加了一个 IF 子句,它是这样工作的,但我不确定这是否是最好的方法,如果我必须更新,它会很长几列。

--Check if parameter is not null or empty before updating the column
IF (@firstname IS NOT NULL AND @firstname != '')
UPDATE [Users]
SET FirstName = @firstname
WHERE ID = @iduser

IF (@city IS NOT NULL AND @city != '')
UPDATE [Users]
SET City = @city
WHERE ID = @iduser
...
...

如果值为 Null 或 Empty,我不需要更新,只需将原始值保留在数据库中即可。

最佳答案

不确定如果它是空白你想要实现什么,但我会尝试使用IsNull()我不认为有IsBlank(),但自己写应该不会太难

仅使用 IsNull 您的查询将类似于...

Update [Users]
set FirstName = IsNull(@FirstName, FirstName),
City = IsNull(@City, City)
....
Where ...

如果参数值不为空,这将使用参数值更新行,否则将其更新为自身,即不进行任何更改。

关于如果参数不为 null 或为空,则 SQL 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25319248/

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