您当前的位置: 站长圈 > 技术文章 > 数据库技术 > MySQL函数——数学函数

MySQL函数——数学函数

来源:站长圈 作者:adminzzq 点击: 0
     数学函数主要用来处理数值数据,主要的数学函数有:绝对值函数、三角函数、对数函数、随机数函数等,当有错误产生时,数学函数将会返回空值NULL。本节实例测试都在PHPMyAdmin中进行。

1、绝对值函数ABS(x)和返回圆周率的函数PI()
    ABS(x)返回X的绝对值。
例:求3,-3.6,56的绝对值,在PHPMyAdmin中运用SQL语句查询,输入SQL语句:
\
点击“执行”按钮,结果得:
\

正数的绝对值是其本身,负数的绝对值是其相反数。
PI()返回圆周率π的值,输入SQL语句:
\
执行后得:
\
MySQL的π 值默认保留6位小数。
2、平方根函数SQRT(x)和求余函数MOD(x,y)
SQRT(x)返回非负数x的二次方根。
例:求9,50,-25的二次方根,输入SQL语句:
\
执行后得:
\
因为负数没有平方根,所以-25返回的结果是MULL。
MOD(x,y)返回 x 被 y 除后的余数,MOD()对于带小数部分的数值也起作用,它返回除法运算后的精确余数。
例:求MOD(35,8),MOD(453,12),MOD(83.5,6)余数,输入SQL语句:
\
招待后得:
\
3、获取整数的函数CEIL(X)、CEILING(x)和FLOOR(x)
CEIL(X)和CEILING(x)意义相同,返回不小于 x 的最小整数值,返回值转化为一个bigint类型数据。
例:使用CEIL(X)、CEILING(x)函数返回最小整数,输入SQL语句:
\
执行后得:
\
-3.36为我负数,不小于-3.36的最小整数为-3;不小于3.36的最小整数为4,因此返回值为4.
FLOOR(x)返回不大于 x 的最大整数值,返回值转化为一个bigint类型数据。
例:使用FLOOR()函数返回最大整数,输入SQL语句:
\
执行后得:
\
-3.36为负数,不大于-3.36的最大整数为-4,因此返回值为-4;不大于3.36的最大整数为3,因此返回值为3.
4、获取随机数的函数RAND()和RAND(x)
RAND()返回一个随机浮点值数,其范围在0到1之间。若已指定一个整数参数 x ,则它被用作种子值,用来产生重复序列。
例:使用RAND()函数产生随机数,输入SQL语句:
\
执行后得:
\
可以看到不带参数的RAND()每次产生的随机数值是不同的。
例:使用RAND( x ) 函数产生的随机数,输入SQL语句:
\
招待后得:
\
可以看到当RAND( x )的参数相同时,将产生相同的随机数,不同的 x 产生的随机数不 同。
5、四舍五入函数ROUND(x)、ROUND(x,y)和TRUNCATE(x,y)
ROUND(x)返回最接近于参数 x 的整数,对 x 值进行四舍五入。
例:使用ROUND(x)函数对进行四舍五入操作,输入SQL语句:
\
执行后得:
\
可以看到四舍五入后只保留了各个值的整数部分。
ROUND(x,y)返回最接近于参数的 x 的数,其值保留到小数点后 y 位,若 y 为负数,则将保留 x 值到小数点左边 y 位。
例:使用ROUND(x,y)函数,结果保留小数点后面指定的 y 位,输入SQL语句:
\执行后得:
\
后两个保留小数为负数,则分别精确到小数点前1位和2位,原数值改为0。
TRUNCATE(x,y)返回被舍去至小数点后 y 位的数字。若 y 为0,则结果不带小数点或不带有小数点部分。若 y 为负数,则截去(归零) x 小数点左起第 y 位开始后面所有低位的值。
例:使用TRUNCATE(x,y),结果保留小数点后面指定 y 位,输入SQL语句:
\执行后得:
\TRUNCATE(x,y)函数在截取值时不作四舍五入处理,直接截去。
6、符号函数SIGN(x)
SIGN(x)返回参数的符号,x 的值为负、零和正时返回的结果依次为-1、0和1.
使用SIGN()函数返回参数的符号,输入SQL语句:
\
执行后得:
\
7、幂运算函数POW(x,y)、POWER(x,y)和EXP(x)
POW(x,y)或者POWER(x,y)函数返回 x 的 y 次乘方的结果值。
例:使用POW(x,y)和POWER(x,y)函数进行乘方运算,输入SQL语句:
\执行后得:
\
可以看到POW(x,y)和POWER(x,y)函数的结果是相同的。
EXP(x)返回 e 的 x 乘方后的值。
例:使用EXP(x)函数计算 e 的乘方,输入SQL语句:
\
执行后得:
\
8、对数运算函数LOG(x)和LOG10(x)
LOG(x)返回 x 的自然对数,x 相对于基数 e 的对数。
使用LOG(x)函数计算自然对数,输入SQL语句:
\
执行后得:
\
对数的定义域不能为负数,因此LOG(-3)返回的结果是NULL。
LOG10(x)返回 x 的基数为10的对数。
例:使用LOG10(x)计算以10为基数的对数,输入SQL语句:
\
执行后得:
\
同样,LOG10(-100)定义域不能为负数,因此返回结果为NULL。
9、角度与弧度相互转换的函数RADIANS(x)和DEGREES(x)
RADIANS(x)将参数 x 由角度转换为弧度。
例:使用RADIANS(x)将角度转换为弧度,输入SQL语句:
\
执行后得:
\
DEGREES(x)将参数 x 由弧度转换为角度。
例:使用DEGREES(x)将弧度转换为角度,输入SQL语句:
\

\
10、正弦函数SIN(x)和反正弦函数ASIN(x)
SIN(x)返回 x 正弦,其中 x 为弧度值。
例:使用SIN(x)函数计算正弦值,输入SQL语句:
\
执行后得:
\
ASIN(x)返回 x 的反正弦,即正弦为 x 的值,因为反正弦函数的定义域在-1到1之间,所以若 x 不在-1到1的范围之内,则返回NULL。
例:使用ASIN(x)函数计算反正弦值,输入SQL语句:
\
执行后得:
\
由结果可以看到函数ASIN(x)和SIN(x)互为反函数ASIN(3)中的参数3超出了正弦值的范围,因此返回NULL。
11、余弦函数COS(x)和反余弦函数ACOS(x)
COS(x)返回 x 的余弦,其中 x 为弧度值。
例:使用COS(x)函数计算余弦值,输入SQL语句:
\
执行后得:
\
ACOS(x)返回 x 的反余弦,即余弦是 x 的值。因为反余弦函数的定义域在-1到1之间,所以若 x 不在-1到1的范围之内,则返回NULL。
例:使用ACOS(x)函数计算反余弦值,输入SQL语句:
\执行后得:
\
由结果可以看到函数ACOS()和COS()互为反函数。
12、正切函数、反正切函数和余切函数
TAN(x)返回 x 的正切,其中 x 为弧度值。
例:使用TAN()函数计算正切值,输入SQL语句:
\
执行后得:
\
ATAN(x)返回 x 的反正切,即正切为 x 的值
例:使用ATAN(x)函数计算反正切值,输入SQL语句:
\
执行后得:
\
由结果看到函数ATAN()和TAN()互为反函数。
COT(x)返回 x 的余切。
例:使用COT(x)函数计算余切值,输入SQL语句:
\
执行后得:
\
由结果看到函数COT()和TAN()互为倒函数。