我想要更新列的最大值为当前col值或新值I通过。在伪代码:更新最大值为2的列值
更新表1组雇员= MAX(雇员,30)其中id = 23
因此,在上述情况下: 如果员工是目前为20,新的值将成为30 如果员工是目前50,值将保持50
我该怎么做?是否有一个简单的标准功能可用(我宁愿不使用case语句)
谢谢!
我想要更新列的最大值为当前col值或新值I通过。在伪代码:更新最大值为2的列值
更新表1组雇员= MAX(雇员,30)其中id = 23
因此,在上述情况下: 如果员工是目前为20,新的值将成为30 如果员工是目前50,值将保持50
我该怎么做?是否有一个简单的标准功能可用(我宁愿不使用case语句)
谢谢!
Update table1
set employees = (case when employees < 30 then 30 else employees end)
where id = 23
你可以使用一个where
子句employees < 30
只更新行:
update table1
set employees = 30
where id = 23 and employees < 30
+1 - 是否需要最小数量的数据更改 – JNK
谢谢!好的建议,但不完全是我需要的。我的错误,我应该更好地澄清:我想在超过1列(高达100)运行MAX语句。 所以声明看起来更像是这样的: UPDATE table1的SET 员工= MAX(员工,30), streetname = MAX(streetname, '艾比路') 周转率= MAX(成交500000) WHERE ID = 23 – Flo
@Floran,在这种情况下,我想我的答案会适合你,你只需要多个'case'语句。 'case'语句与MAX函数的功能相同。尽管如果您只更新一列,@Andomar仍然有更好的解决方案。 – PaulStock
对不起我的好奇,但为什么你会改变一个列到它的当前值?如果你需要,我可以找到一个脚本来让你的服务器变得更容易。 –