为什么此UPDATE ... RETURNING返回null而不是true?

时间:2018-07-30 14:07:48

标签: postgresql plpgsql

我想使用UPDATE RETURNING来确保要更新的记录存在。如果没有,我将退货。我不需要花哨的时间,因为我的查询很少会运行。我以为我会用这样的东西:

if UPDATE my_table SET my_field = 1 WHERE my_key = 12345 RETURNING my_field is NULL then
    perform do_something()
end if;

应该可以,但是我认为如果将其设为布尔表达式,可能会更干净,因此我在pgAdmin SQL窗口中尝试了此操作:

update charge set pred_heat_time = 12345 where charge = 99999 returning (pred_heat_time is null)

我很惊讶地看到此表达式返回null而不是true。为什么这样做?

0 个答案:

没有答案