1. 程式人生 > >(資料庫三)MySQL數學函式

(資料庫三)MySQL數學函式

1.abs(n):返回n的絕對值
       用法:mysql> select abs(2); 
                          -> 2
                  mysql> select abs(-32);
                          -> 32

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除的餘數(同%操作符)
       用法:mysql> select mod(234, 10);
                          -> 4
                  mysql> select 234 % 10;
                          -> 4
                  mysql> select mod(29,9);
                          -> 2

4.floor(n):返回不大於n的最大整數值
       用法:mysql> select floor(1.23);
                          -> 1
                  mysql> select floor(-1.23); 
                          -> -2

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的n次方(自然對數的底)
       用法:mysql> select exp(2);
                          -> 7.389056
                  mysql> select exp(-2);
                          -> 0.135335

8.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位小數並返回
       用法:mysql> select truncate(1.223,1);
                          -> 1.2
                  mysql> select truncate(1.999,1);
                          -> 1.9
                  mysql> select truncate(1.999,0);
                          -> 1

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"