这个问题在这里已经有答案了:
mysql在两个(或更多)给定值中选择最小值/最大值(4个答案)两年前关门了。如何将x的值限制在100.0000,而不让它变成105.8968?
SELECT ((15898 / (15898 + 401 + 36) * 100) + (8572 * 0.001)) AS `X`
8gsdolmq1#
使用最少的函数:
SELECT (LEAST(100, (15898 / (15898 + 401 + 36) * 100) + (8572 * 0.001) ) ) AS `X`
附加:要找到最大值(最小值的倒数),可以使用最大值函数从文档中,至少():最小值(值1,值2,…)对于两个或多个参数,返回最小(最小值)参数。使用以下规则比较参数:如果任何参数为null,则结果为null。不需要比较。如果所有参数都是整数值,则将它们作为整数进行比较。如果至少有一个参数是双精度的,则将它们作为双精度值进行比较。否则,如果至少有一个参数是十进制值,则将它们作为十进制值进行比较。如果参数由数字和字符串组成,则将它们作为数字进行比较。如果任何参数是非二进制(字符)字符串,则这些参数将作为非二进制字符串进行比较。在所有其他情况下,参数作为二进制字符串进行比较。least()的返回类型是比较参数类型的聚合类型。
tkqqtvp12#
使用 LEAST() :
LEAST()
SELECT LEAST((15898 / (15898 + 401 + 36) * 100) + (8572 * 0.001), 100.0000) AS `X`
2条答案
按热度按时间8gsdolmq1#
使用最少的函数:
附加:要找到最大值(最小值的倒数),可以使用最大值函数
从文档中,至少():
最小值(值1,值2,…)
对于两个或多个参数,返回最小(最小值)参数。使用以下规则比较参数:
如果任何参数为null,则结果为null。不需要比较。
如果所有参数都是整数值,则将它们作为整数进行比较。
如果至少有一个参数是双精度的,则将它们作为双精度值进行比较。否则,如果至少有一个参数是十进制值,则将它们作为十进制值进行比较。
如果参数由数字和字符串组成,则将它们作为数字进行比较。
如果任何参数是非二进制(字符)字符串,则这些参数将作为非二进制字符串进行比较。
在所有其他情况下,参数作为二进制字符串进行比较。
least()的返回类型是比较参数类型的聚合类型。
tkqqtvp12#
使用
LEAST()
: