我想更新一个列,其中包含当前col值或我传递的新值的最大值。在伪代码中:
更新table1 set employees = MAX(employees,30),其中id = 23
所以,在上述情况中: 如果员工目前是20,那么新值将为30 如果员工目前是50,那么该值将为REMAIN 50
我该怎么做?是否有可用的简单标准函数(我宁愿不使用case语句)
谢谢!
答案 0 :(得分:2)
您可以使用where
子句仅更新employees < 30
行:
update table1
set employees = 30
where id = 23 and employees < 30
答案 1 :(得分:1)
Update table1
set employees = (case when employees < 30 then 30 else employees end)
where id = 23