更新包含 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'
我正在编写一个非常简单的 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'