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的值為負、零或正時,返回結果依次為-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);

轉自:http://www.cnblogs.com/selene/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM