简体   繁体   English

用mysql中的最大值和最小值更新字段

[英]Update field with max and min value in mysql

I would like to update a percentage field with a maximum value of 1 and a minimum of 0 with a relative value (eg. "add 25% to the current value") 我想用相对值更新最大值为1且最小值为0的百分比字段(例如,“将25%添加到当前值”)

This obviously doesn't work: 这显然行不通:

UPDATE table SET field = MAX(0, MIN(1, field+0.25))

Update: 更新:

If the value is eg 0.85 it should update to 1 如果该值为例如0.85 ,则应更新为1

Update 更新

I'm using this now: 我现在正在使用这个:

UPDATE table SET field = GREATEST(0, LEAST(1, field+0.25))
UPDATE your_table 
SET field = case when field > 0.75 
                 then 1
                 else field + 0.25
            end

Especially in MySQL you can do 特别是在MySQL中,您可以做

UPDATE your_table 
SET field = least(1, field + 0.25)

For values that can also be negativ you can use 对于也可以否定的价值,您可以使用

update your_table
SET field = case when field + ? > 1.0 then 1 
                 when field + ? < 0.0 then 0 
                 else field + ? 
            end

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM