我想更新一个百分比字段,其最大值为1
,最小值为0
且具有相对值(例如,"将当前值加上25%&#34 ;)
这显然不起作用:
UPDATE table SET field = MAX(0, MIN(1, field+0.25))
更新
如果值为0.85
,则应更新为1
更新
我现在正在使用它:
UPDATE table SET field = GREATEST(0, LEAST(1, field+0.25))
答案 0 :(得分:2)
UPDATE your_table
SET field = case when field > 0.75
then 1
else field + 0.25
end
特别是在MySQL中你可以做到
UPDATE your_table
SET field = least(1, field + 0.25)
对于也可以是否定的值,您可以使用
update your_table
SET field = case when field + ? > 1.0 then 1
when field + ? < 0.0 then 0
else field + ?
end