數學函數主要用來處理數值數據,主要的數學函數有:絕對值函數,三角函數(包括正弦函數,余弦函數,正切函數,余切函數)、對數函數,隨機函數等。在錯誤產生時,數學函數將返回空值null。本次介紹各種數學函數的功能和用法。
1.絕對值函數ABS(x)和返回圓周率的函數PI()
ABS(x)返回x的絕對值,PI()返回圓周率的值
eg: select ABS(2),ABS(-3.3),ABS(-33),PI();
正數的絕對值是其本身,2的絕對值為2;負數的絕對值為其相反數,-3.3的絕對值為3.3,-33的絕對值為33。
2.平方根函數SQRT(x)
SQRT(x)返回非負數x的二次方根
eg:select SQRT(9), SQRT(40);
3.獲取隨機函數的函數RAND()和RAND(x)
RAND(x)返回一個隨機浮點值v,范圍在0~1之間(即0<=v<=1.0).若指定一個整數參數x,則它被用作種子值,使用相同的種子數將產生重復序列。如果同一種子值多次調用RAND函數,它將返回同一生成值。
eg: select RAND(), RAND(), RAND();
可以看到,不帶參數的RAND()每次產生的隨即數值是不同的。
eg: select RAND(10), RAND(10), RAND(11);
可以看到,當RAND(x)的參數相同時,將產生相同的隨機數,不同的x產生的隨機數值不同。
4.四舍五入函數ROUND(x,y)
ROUND(x,y)返回接近於參數x的數,其值保留到小數點后面y位,若y為負值,則將保留x值到小數點左邊y位。
eg:select ROUND(1.38,1), ROUND(1.38,0), ROUND(232.38,-1), ROUND(232.38,-2);
ROUND(1.38,1)保留小數點后面一位,四舍五入結果為1.4;ROUND(1.38,0)保留小數點后面0位,即返回四舍五入后的整數值,ROUND(232.38,-1)和ROUND(232.38,-2)分別保留小數點左邊1位和2位。
5.符號函數SIGN(x)
SIGN(x)返回參數的符號,x的值為負、零或正時,返回結果依次為-1、0或1。
eg: select SIGN(-21), SIGN(0), SIGN(21);
SIGN(-21)返回-1,SIGN(0)返回0,SIGN(21)返回1
6.獲取整數的函數CEILING(x)和FLOOR(x)
CEILING(x)返回不小於x的最小整數值,FLOOR(x)返回不大於x的最大整數值;
eg: select CEILING(-3.35), CEILING(3.35), FLOOR(-3.35), FLOOR(3.35);
(1)、-3.35為負數,不小於-3.35的最小整數為-3,不小於3.35的最小整數值為4
(2)、-3.35為負數,不大於-3.35的最小整數為-4,不大於3.35的最小整數值為3
7.冪運算函數POWER(x,y)、SQUARE(x)、和EXP(x)
(i). POWER(x,y)函數返回x的y次乘方的結果值;
(ii). SQUARE(x)函數返回指定浮點值x的平方;
(iii). EXP(x)函數返回e的x乘方后的值。
eg: select POWER(2,2), POWER(2.00,-2), SQUARE(3), SQUARE(-3), SQUARE(0), EXP(3), EXP(-3), EXP(0);
可以看到POWER(2,2)返回2的平方,結果為4;POWER(2.00,-2)返回2的-2次方,結果為0.25;
SQUARE(3)返回 3平方,結果為9;SQUARE(-3)返回-3的平方,結果為; SQUARE(0)返回0的平方,結果為0;
EXP(3)返回以e為底的3次方,結果為20.0855369231877, EXP(-3)返回以e為底的-3次方,結果為0.0497870683678639;
EXP(0)返回以e為底的0次方,結果為1。
8.對數的運算LOG(x)和LOG10(x)
LOG(x)返回x的自然對數,x相對於基數e的對數。
LOG10(x)返回x的基數為10的對數。
eg: select LOG(3),LOG(6),LOG10(1),LOG10(100),LOG10(1000);
對數定義域不能為負數,10的0次方為1,所以LOG10(1)返回結果是0,10的2次方為100,所以LOG10(100)返回結果是2,10的3次方為1000,所以LOG10(1000)返回結果是3;
9.角度與弧度相互轉換的函數RANDIANS(x)和DEGREES(x)
RANDIANS(x)將參數x由角度轉換為弧度。
DEGREES(x)將參數x有弧度轉換為角度。
eg: select RADIANS(90.0), RADIANS(180.0), DEGREES(PI()/2), DEGREES(PI());
10.正弦函數SIN(x)和反正弦函數ASIN(x)
SIN(x)返回x的正弦,其中x為弧度值;
ASIN(x)返回x的反正弦,即正弦x的值,若x不在-1到1的范圍內,則返回NULL。
eg: select SIN(PI()/2),SIN(PI()),ASIN(1),ASIN(0);
11.余弦函數COS(x)和反余弦函數ACOS(x)
COS(x)返回x的余弦,其中x為弧度值;
ACOS(x)返回x的反余弦,即余弦x的值。若x不在-1到1范圍之內,則返回NULL;
eg: select COS(0),COS(PI()),ACOS(1),ACOS(0);
12.正切函數TAN(x),反正切函數ATAN(x)和余切函數COT(x)
TAN(x)返回x的正切,其中x為給定的弧度值;
ATAN(x)返回x的反正切,即正切x的值;
COT(x)返回x的余切。
eg: select TAN(0.3),ROUND(TAN(PI()/2),0), ATAN(0.30933624960962325),ATAN(1),COT(0.3),1/TAN(0.3),COT(PI()/4);