MySQL中的数学函数,通常参数为整型,若参数为字符串,大多数情况会将字符串转型成整型计算。若无法转换成整型则会出现意外的结果。参数为NULL时,返回值为NULL。
常见数学函数
- abs(n)
返回n的绝对值 - sign(n)
返回参数的符号(为-1、0或1) - mod(n,m)
取模运算,返回n被m除的余数(同%操作符) - floor(n)
返回不大于n的最大整数值 - ceiling(n)
返回不小于n的最小整数值 - round(n,d)
返回n的四舍五入值,保留d位小数(d的默认值为0) - truncate(n,d)
保留数字n的d位小数并返回 - least(x,y,…)
参数可能具有混合数据类型。以下比较规则适用于这两个函数:
1.如果任何参数为NULL,则两个函数都将立即返回NULL,而不进行任何比较。
2.如果在INT或REAL上下文中使用函数,或者所有参数都是整数值或REAL值,那么它们将分别作为INT和REAL来比较。
3.如果参数由数字和字符串组成,则函数将它们作为数字进行比较。
4.如果至少一个参数是非二进制(字符)字符串,则函数将将参数作为非二进制字符串进行比较。
5.在所有其他情况下,函数将参数作为二进制字符串进行比较
-
greatest(x,y,…)
返回最大值(其余同least()) -
rand() / rand(n)
返回在范围0到1.0内的随机浮点值(可以使用数字n作为初始值)
指数函数
- pow(x,y) / power(x,y)
返回值x的y次幂 - exp(n)
返回值e的n次方(自然对数的底) - sqrt(n)
返回非负数n的平方根
对数函数
- log(n)
返回n的自然对数 - log10(n)
返回n以10为底的对数
三角函数
- pi()
返回圆周率 - cos(n)
返回n的余弦值 - sin(n)
返回n的正弦值 - tan(n)
返回n的正切值 - acos(n)
返回n反余弦(n是余弦值,在-1到1的范围,否则返回null) - asin(n)
返回n反正弦值 - atan(n)
返回n的反正切值 - atan2(x,y)
返回2个变量x和y的反正切(类似y/x的反正切,符号决定象限) - cot(n)
返回x的余切 - degrees(n)
把n从弧度变换为角度并返回 - radians(n)
把n从角度变换为弧度并返回