postgresql 根据条件将列更新为2

busg9geu  于 2022-12-03  发布在  PostgreSQL
关注(0)|答案(1)|浏览(102)

我正在尝试修改一列,我想将某些行设置为true,而其他行将其转换为false

update products set on_sale=False where status=1 and seller=test;
update products set on_sale=true Where price > 100 and status=1 and seller=test;

上面的工作,但我相信它可以在一个查询,即这样的东西

\\ python syntax for the if condition
update prodcuts set on_sale=(True if price > 100 else False) WHERE status=1 and seller=test
cotxawn7

cotxawn71#

您可以借助CASE表达式执行单个更新:

UPDATE products
SET on_sale = CASE WHEN price > 100 THEN True ELSE False END
WHERE status = 1 AND seller = test;

相关问题