mysql数值型函数汇总

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"    

posted @ 2020-04-29 22:44  樱花树下的蓝天  阅读(255)  评论(0)    收藏  举报