在mysql中更新具有最大值和最小值的字段

时间:2015-07-11 09:47:42

标签: mysql

我想更新一个百分比字段,其最大值为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))

1 个答案:

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