數學函數主要用來處理數值數據,主要的數學函數有:絕對值函數,三角函數(包括正弦函數,餘弦函數,正切函數,餘切函數)、對數函數,隨機函數等。在錯誤產生時,數學函數將返回空值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的值爲負、零或正時,返回結果依次爲-一、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);