更新列值最多为2个值

时间:2011-09-13 19:27:43

标签: tsql sql-server-2008

我想更新一个列,其中包含当前col值或我传递的新值的最大值。在伪代码中:

更新table1 set employees = MAX(employees,30),其中id = 23

所以,在上述情况中: 如果员工目前是20,那么新值将为30 如果员工目前是50,那么该值将为REMAIN 50

我该怎么做?是否有可用的简单标准函数(我宁愿不使用case语句)

谢谢!

2 个答案:

答案 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