更新包含null的列

时间:2015-08-27 12:25:36

标签: sql-server null sql-update

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

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

我查看了CardBalance字段,结果为NULL。是因为这个吗?什么是解决方案?

3 个答案:

答案 0 :(得分:2)

如果CardBalance为NULL,则向其添加1000将为NULL,因此您可以放置​​ISNULL以查找是否为NULL并将其设为0(或您想要的内容)。

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

答案 1 :(得分:0)

试试这个。

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

答案 2 :(得分:0)

您正尝试将1000添加到空值,这就是它返回始终为null的原因。当CardBalance为null时,使用ISNULL函数将值设置为0。查询应该是这样的:

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