我正在更新a,b,c,d值以及其中要比较id的where条件。仅当字段'b'的先前值不为null时,才需要更新。 不过,我需要在同一查询中更新其余字段。
我当前的查询就像
update demo_table set a='str1', b='str2', c=112, d='str3' where id=191;
谁能建议实现此目标的方法。感谢adavance.postgre
答案 0 :(得分:1)
您只需在您的SET子句中添加一个CASE条件:
UPDATE demo_table
SET
a = 'str1',
b = CASE b IS NOT NULL WHEN true THEN 'str2' ELSE NULL END,
c = 112,
d = 'str3'
WHERE id = 191;