1、abs(n) 作用:返回n的绝对值
#获取5和-10的绝对值
SELECT ABS(5),ABS(-10);
2、sign(n) 返回参数的符号(为-1、0或1)
mysql> select sign(-32);
-> -1
mysql> select sign(0);
-> 0
mysql> select sign(234);
-> 1
3、mod(n,m) 取模运算,返回n被m除的余数(同%操作符)
ps:取余结果的正负与被除数有关,被除数为正数则为正,被除数为负则为负。
SELECT MOD(2,3),-10%4;
4、floor(n)
返回不大于n的最大整数值
SELECT FLOOR(-3.14),CEILING(0.618); -4 , 1
5、ceiling(n)
返回不小于n的最小整数值
mysql> select ceiling(1.23);
-> 2
mysql> select ceiling(-1.23);
-> -1
6、round(n,d)
返回n的四舍五入值,保留d位小数(d的默认值为0)
mysql> select round(-1.23);
-> -1
mysql> select round(-1.58);
-> -2
mysql> select round(1.58);
-> 2
mysql> select round(1.298, 1);
-> 1.3
mysql> select round(1.298, 0);
-> 1
7、exp(n) e (2.718281…) 是自然对数的底数。
返回e的n次方
mysql> select exp(2);
-> 7.389056
mysql> select exp(-2);
-> 0.135335
8、log(n) 返回n的自然对数: 自然对数是底数为 e 的对数,其中 e 是一个无理数常数,约等于 2.718281828。
注释:
默认情况下,LOG() 返回自然对数。
自然对数是底数为 e 的对数,其中 e 是一个无理数常数,约等于 2.718281828。
某数指数值的自然对数是该数自身:LOG( EXP( n ) ) = n。且某数自然对数的指数值是该数自身:EXP( LOG( n ) ) = n。
mysql> select log(2);
-> 0.693147
mysql> select log(-2);
-> null
9、log10(n) 返回n以10为底的对数
mysql> select log10(2);
-> 0.301030
mysql> select log10(100);
-> 2.000000
mysql> select log10(-100);
-> null
10、pow(x,y)/power(x,y) 返回值x的y次幂
mysql> select pow(2,2);
-> 4.000000
mysql> select pow(2,-2);
-> 0.250000
11、sqrt(n) 返回非负数n的平方根
mysql> select sqrt(4);
-> 2.000000
mysql> select sqrt(20);
-> 4.472136
12、pi() 返回圆周率
mysql> select pi();
-> 3.141593
13、cos(n) 返回n的余弦值
mysql> select cos(pi());
-> -1.000000
14、sin(n) 返回n的正弦值
mysql> select sin(pi());
-> 0.000000
15、tan(n) 返回n的正切值
mysql> select tan(pi()+1);
-> 1.557408
16、acos(n) 返回n反余弦(n是余弦值,在-1到1的范围,否则返回null)
mysql> select acos(1);
-> 0.000000
mysql> select acos(1.0001);
-> null
mysql> select acos(0);
-> 1.570796
17、asin(n) 返回n反正弦值
mysql> select asin(0.2);
-> 0.201358
mysql> select asin('foo');
-> 0.000000
18、atan(n) 返回n的反正切值
mysql> select atan(2);
-> 1.107149
mysql> select atan(-2);
-> -1.107149
19、atan2(x,y) 返回2个变量x和y的反正切(类似y/x的反正切,符号决定象限)
mysql> select atan(-2,2);
-> -0.785398
mysql> select atan(pi(),0);
-> 1.570796
20、cot(n) 返回x的余切
mysql> select cot(12);
-> -1.57267341
mysql> select cot(0);
-> null
21、rand()/rand(n) 返回在范围0到1.0内的随机浮点值(可以使用数字n作为初始值)
mysql> select rand();
-> 0.5925
mysql> select rand(20);
-> 0.1811
mysql> select rand(20);
-> 0.1811
mysql> select rand();
-> 0.2079
mysql> select rand();
-> 0.7888
22、degrees(n) 把n从弧度变换为角度并返回
mysql> select degrees(pi());
-> 180.000000
23、radians(n) 把n从角度变换为弧度并返回
mysql> select radians(90);
-> 1.570796
24、truncate(n,d) 对数值n进行截断,d为正数时保留小数点后d位 d为0时保留整数位,d为负数时保留小数点前d位
mysql> select truncate(1.223,1);
-> 1.2
mysql> select truncate(1.999,1);
-> 1.9
mysql> select truncate(1.999,0);
-> 1
SELECT TRUNCATE(14335.3489385,-2); 14300
SELECT TRUNCATE(14335.3489385,-1); 14330
SELECT TRUNCATE(14335.3489385,0); 14335
25、least(x,y,...)
返回最小值(如果返回值被用在整数(实数或大小敏感字串)上下文或所有参数都是整数(实数或大小敏感字串)则他们作为整数(实数或大小敏感字串)比较,否则按忽略大小写的字符串被比较)
mysql> select least(2,0);
-> 0
mysql> select least(34.0,3.0,5.0,767.0);
-> 3.0
mysql> select least("b","a","c");
-> "a"
26、greatest(x,y,...) 返回最大值(其余同least())
mysql> select greatest(2,0);
-> 2
mysql> select greatest(34.0,3.0,5.0,767.0);
-> 767.0
mysql> select greatest("b","a","c");
-> "c"