MySQL ABS函数
时间:2019-11-20 08:52:26 来源:igfitidea点击:
简介:在本教程中,您将学习如何使用MySQL ABS()函数返回数字的绝对值。
MySQL ABS()函数概述
ABS()函数是一个数学函数,它返回数字的绝对(正)值。
下面显示了ABS()函数的语法:
ABS(n)
在此语法中,n是文字数字或计算结果为数字的表达式。
如果n为负数,则ABS()函数会将负值更改为正值。
如果n为零或正,则ABS()函数无效。
返回值的数据类型与输入参数的数据类型相同。
下图说明了ABS()函数:
MySQL ABS()函数示例
下面的示例显示对四个不同的数字使用ABS()函数的结果:
SELECT ABS(-10), ABS(0), ABS(10);
这是查询输出:
在表格列上使用ABS功能
我们将使用产品表进行演示:
以下查询查找产品代码MSRP以及产品MSRP与产品在其产品系列中的平均MSRP的偏差。
SELECT productName, productLine, msrp, ABS( ROUND( msrp - AVG(msrp) OVER ( PARTITION BY productLine ) ) ) deviation FROM products ORDER BY productName;
这是输出:
让我们分解一下偏差列的计算。
首先,AVG()窗口函数返回其产品线中每个产品的平均MSRP:
AVG(msrp) OVER ( PARTITION BY productLine )
其次,以下公式返回MSRP和平均产品线MSRP之间的差:
msrp - AVG(msrp) OVER (PARTITION BY productLine)
第三,ROUND()函数将偏差四舍五入为零。
ROUND( msrp - AVG(msrp) OVER ( PARTITION BY productLine ) )
第四,由于某些产品的建议零售价低于平均建议零售价,因此它们与平均值的偏差为负。
ABS()函数应用于所有偏差以返回绝对值。
在本教程中,您学习了如何使用MySQL ABS()函数获取数字的绝对值。