我正在编写一个非常简单的UPDATE查询,但它不会更新cardbalance
字段。
update cardbalance
set CardBalance = CardBalance + 1000, TotalLoading= TotalLoading+356, Totalredemption = Totalredemption + 256
where pan = '20000002'
我查看了CardBalance
字段,结果为NULL
。是因为这个吗?什么是解决方案?
答案 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'