mysql 常用数学函数总结

名称功能
abs( number )取绝对值
sign( number )获取数字的正负号
mod( number1, number2 )取模,与%作用一样
round( number[, degree] )对小数进行四舍五入
ceil( number )向上取整 number> truncate(number)? truncate(number)+1 :truncate(number)
floor( number )向下取整 truncate(number) > 0 ? truncate(number) : truncate(number) -1
truncate( number, degree)小数截断
pow(x, y)求x的y次幂
sqrt( number )求平方根
pi()获取圆周率
rand(seed)获取随机数,可以设置一个种子,一般以当前时间戳为seed
least(num1, num2, num3,…)求最小数
greatest(num1, num2, num3,…)求最大数

1、abs( number )

作用: 求绝对值。

mysql> select abs(-3.14);
+------------+
| abs(-3.14) |
+------------+
|       3.14 |
+------------+

2、sign( number )

作用:求数字的符号。如果number为0,则返回0;大于0,则返回1;小于0,返回-1;

#非number类型数据,会尝试转为number类型。
mysql> select sign('123.4');
+---------------+
| sign('123.4') |
+---------------+
|             1 |
+---------------+

#如果参数的值为null,那么结果为null。
mysql> select sign(null)
  -> ;
+------------+
| sign(null) |
+------------+
|       NULL |
+------------+

3、mod( number1, number2 )

作用: 取模,number1 - number1/number2 *number2; 就是结果。被除数是正数,结果为正数;被除数为负数,则结果为负数;

mysql> select  -12 % 5;
+---------+
| -12 % 5 |
+---------+
|      -2 |
+---------+

4、round( number[, degree] )

作用:四舍五入;

#默认是四舍五入到小数点的第一位。
mysql> select round(3.89);
+-------------+
| round(3.89) |
+-------------+
|           4 |
+-------------+

#直接判断小数点后的第一位进行四舍五入。
mysql> select round(3.45);
+-------------+
| round(3.45) |
+-------------+
|           3 |
+-------------+

#也可以通过第二个参数指定四舍五入的位置。
mysql> select round(3.45,1);
+---------------+
| round(3.45,1) |
+---------------+
|           3.5 |
+---------------+

5、ceil( number )

作用:向上取整 [number] <= number < [number]+1

mysql> select ceil(3.14);
+------------+
| ceil(3.14) |
+------------+
|          4 |
+------------+

6、floor( number )

作用:向下取整 [number]-1 < number <= [number]

mysql> select floor(3.14);
+-------------+
| floor(3.14) |
+-------------+
|           3 |
+-------------+

7、truncate( number, degree)

作用:小数截断。

mysql> select truncate(3.14,1);
+------------------+
| truncate(3.14,1) |
+------------------+
|              3.1 |
+------------------+

8、pow(x, y)

作用:求x的y次方。

mysql> select pow(3,4);
+----------+
| pow(3,4) |
+----------+
|       81 |
+----------+

9、sqrt( number )

作用:求二次方根。

mysql> select sqrt(4);
+---------+
| sqrt(4) |
+---------+
|       2 |
+---------+

10、pi()

作用:获取圆周率。

mysql> select pi();
+----------+
| pi()     |
+----------+
| 3.141593 |
+----------+

11、rand(seed)

作用:获取随机数。0~1的取值。

mysql> select rand(rand());
+---------------------+
| rand(rand())        |
+---------------------+
| 0.40540353712197724 |
+---------------------+

12、least(num1, num2, num3,…)

作用:获取最小数。

mysql> select  least(1,2,3,4,1,2,3);
+----------------------+
| least(1,2,3,4,1,2,3) |
+----------------------+
|                    1 |

13、greatest(num1, num2, num3,…)

作用: 获取最大数。

mysql> select  greatest(1,2,3,4,1,2,3);
+-------------------------+
| greatest(1,2,3,4,1,2,3) |
+-------------------------+
|                       4 |
+-------------------------+
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值