如何设置SQL变量的最大数值?

时间:2018-09-20 18:08:04

标签: mysql sql math

如何将 X 的值限制为 100.0000 ,而不是将其限制为 105.8968

SELECT ((15898 / (15898 + 401 + 36) * 100) + (8572 * 0.001)) AS `X`

2 个答案:

答案 0 :(得分:3)

使用LEAST函数:

SELECT (LEAST(100, 
              (15898 / (15898 + 401 + 36) * 100) + (8572 * 0.001)
             )
       ) AS `X`

其他:要查找最大值(最小的倒数),可以使用GREATEST函数

来自documentation of Least()

  

最低(value1,value2,...)

     

具有两个或多个参数,返回最小(最小值)   论点。使用以下规则比较参数:

     

如果任何参数为NULL,则结果为NULL。不需要比较。

     

如果所有参数都是整数值,则将它们作为整数进行比较。

     

如果至少一个参数为双精度,则将它们作为双精度值进行比较。否则,如果至少一个参数是一个   DECIMAL值,将它们作为DECIMAL值进行比较。

     

如果参数包含数字和字符串,则将它们作为数字进行比较。

     

如果任何参数是非二进制(字符)字符串,则将参数作为非二进制字符串进行比较。

     

在所有其他情况下,将参数作为二进制字符串进行比较。

     

LEAST()的返回类型是比较的聚合类型   参数类型。

答案 1 :(得分:2)

使用LEAST()

SELECT LEAST((15898 / (15898 + 401 + 36) * 100) + (8572 * 0.001), 100.0000) AS `X`