更新包含 null 的列

Update column containing null

我正在编写一个非常简单的 UPDATE 查询,但它不会更新 cardbalance 字段。

update cardbalance
set CardBalance = CardBalance + 1000, TotalLoading= TotalLoading+356, Totalredemption = Totalredemption + 256 
where pan = '20000002' 

我检查了 CardBalance 字段,它是 NULL。是因为这个吗?解决办法是什么?

如果 CardBalance 为 NULL,则向其添加 1000 将得到 NULL,因此您可以放置​​一个 ISNULL 来查找 NULL 并将其设为 0(或您想要的值)。

 update cardbalance
 set CardBalance = ISNULL(CardBalance,0) + 1000, 
     TotalLoading= TotalLoading+356, 
     Totalredemption = Totalredemption + 256 
 where pan = '20000002'

试试这个。

UPDATE cardbalance
SET CardBalance = ISNULL(CardBalance,0) + 1000, TotalLoading= TotalLoading+356, Totalredemption = Totalredemption + 256 
WHERE pan = '20000002'

您正在尝试将 1000 添加到空值,这就是为什么它 returns 始终为空。当 CardBalance 为空时,使用 ISNULL 函数将值设为 0。查询应该是这样的:

update cardbalance
set CardBalance = isnull(CardBalance,0) + 1000, TotalLoading= TotalLoading+356, Totalredemption = Totalredemption + 256 
where pan = '20000002'