Sql Server函數全解<二>數學函數

  數學函數主要用來處理數值數據,主要的數學函數有:絕對值函數,三角函數(包括正弦函數,餘弦函數,正切函數,餘切函數)、對數函數,隨機函數等。在錯誤產生時,數學函數將返回空值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);
相關文章
相關標籤/搜索