gpt4 book ai didi

tsql - 在 UPDATE 中添加条件语句

转载 作者:行者123 更新时间:2023-12-04 06:13:24 26 4
gpt4 key购买 nike

查询:

UPDATE empPac
SET quantityLimit = allocation,
allocationStart = '"&allocationStart&"',
nextUpdate = DATEADD(mm, allocationMonths, "&allocationStart&"),
lastUpdate = GETDATE(),
quantityIssued = 0,
quantityShipped = 0
WHERE allocation IS NOT NULL AND
allocationMonths <> 0 AND
(nextUpdate <= DATEADD(mm, "&checkCondition&", GETDATE()) OR
nextUpdate IS NULL) AND
empIdent in (select empIdent
from employee
where custIdent='"&custIdent&"')

我想要做的是在 SET quantityLimit = allocation 中添加一个条件语句这样,而不是拥有 WHERE allocation IS NOT NULL ,我希望它有一个条件语句,例如 SET quantityLimit = ((allocation IS NULL) ? 0 : allocation)

最佳答案

您可以使用 ISNULL() :

SET quantityLimit = ISNULL(allocation, 0)

其他数据库的等效函数是 NVL() 用于 Oracle 和 IFNULL() 对于 MySQL 和 SQLite

你真正应该使用的是 COALESCE()如果您想增加代码的可移植性。 COALESCESQL-92 standard 的一部分并在 RDBMS 中得到广泛支持。

关于tsql - 在 UPDATE 中添加条件语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7519780/

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