一、MySQL常用的数学函数
常用的数学函数和用法
函数名 |
注释 |
ads(x) |
输出x的绝对值 |
rand() |
输出0到1之间的一个随机数 [0~1),可以返回0但是不能返回1 |
mod(x,y) |
输出x对y取余的值 |
power(x,y) |
输出x的y次方的值 |
round(x) |
输出离x最近的整数 |
round(x,y) |
输出保留x的y位的小数四舍五入后的值 |
sqrt(x) |
输出x的平方根的值 |
truncate(x,y) |
输出数字x截断位为y位小数的值 |
ceil(x) |
返回大于或等于x的最小整数 |
floor(x) |
返回小于或等于x的最大整数 |
greatest(x,y,z,…) |
返回集合中最大的值 |
least(x,y,z,…) |
返回集合中最小的值 |
用法实例
abs()用法:
mysql> select abs(5-7),abs(-9),abs(-1.34);
+----------+---------+------------+
| abs(5-7) | abs(-9) | abs(-1.34) |
+----------+---------+------------+
| 2 | 9 | 1.34 |
+----------+---------+------------+
rand()的用法:
mysql> select rand(),rand()*10,rand()*100;
+---------------------+--------------------+--------------------+
| rand() | rand()*10 | rand()*100 |
+---------------------+--------------------+--------------------+
| 0.21567710974782436 | 0.4465255424813605 | 57.623147273085216 |
+---------------------+--------------------+--------------------+
mod(x,y)的用法:
mysql> select mod(55,10),mod(38,5),mod(69,5);
+------------+-----------+-----------+
| mod(55,10) | mod(38,5) | mod(69,5) |
+------------+-----------+-----------+
| 5 | 3 | 4 |
+------------+-----------+-----------+
power(x,y)的用法:
mysql> select power(2,5),power(-2,5),power(1.23,5);
+------------+-------------+--------------------+
| power(2,5) | power(-2,5) | power(1.23,5) |
+------------+-------------+--------------------+
| 32 | -32 | 2.8153056842999997 |
+------------+-------------+--------------------+
round(x)、round(x,y)的用法:
mysql> select round(2.7),round(2.567,2),round(2.3567),round(2.898,1);
+------------+----------------+---------------+----------------+
| round(2.7) | round(2.567,2) | round(2.3567) | round(2.898,1) |
+------------+----------------+---------------+----------------+
| 3 | 2.57 | 2 | 2.9 |
+------------+----------------+---------------+----------------+
sqrt(x)的用法:
mysql> select sqrt(9),sqrt(-4),sqrt(1.34);
+---------+----------+--------------------+
| sqrt(9) | sqrt(-4) | sqrt(1.34) |
+---------+----------+--------------------+
| 3 | NULL | 1.1575836902790226 |
+-------