ORACLE單行函式與多行函式之三:數值函式

還不算暈發表於2013-11-02

常用數字轉換類:ROUND:四捨五入  TRUNC:擷取    MOD:取餘  FLOOR 取整    POWER(n1,n2) 求N次方根   SIGN(n)

ROUND:四捨五入   

round(number,a),以小數點位核心,a如果為0可以不寫,表示取整;a為-1表示小數點前一位,即個位數;a為2則表示小數點後2位。
BYS@bys1>select round(555.555),round(555.555,-1),round(555.555,1),round(555.574,2) from dual;
ROUND(555.555) ROUND(555.555,-1) ROUND(555.555,1) ROUND(555.574,2)
-------------- ----------------- ---------------- ----------------
           556               560            555.6           555.57

TRUNC按照指定的精度進行擷取:

trunc(number,a),以小數點位核心,a如果為0可以不寫,表示取整;a為-1表示小數點前一位,即個位數;a為2則表示小數點後2位。
BYS@bys1>select trunc(555.555),trunc(555.555,-1),trunc(555.555,1),trunc(555.574,2) from dual;
TRUNC(555.555) TRUNC(555.555,-1) TRUNC(555.555,1) TRUNC(555.574,2)
-------------- ----------------- ---------------- ----------------
           555               550            555.5           555.57

MOD(n1,n2);取餘數,返回一個n1除以n2的餘數

BYS@bys1>select mod(10,3),mod(3,3),mod(2,3) from dual;
 MOD(10,3)   MOD(3,3)   MOD(2,3)
---------- ---------- ----------
         1          0          2

FLOOR    對給定的數字取整數

BYS@bys1>select floor(2345.67) from dual;
FLOOR(2345.67)
--------------
          2345 

POWER(n1,n2)   返回n1的n2次方根

BYS@bys1>select power(2,10),power(2,3) from dual;
POWER(2,10) POWER(2,3)
----------- ----------
       1024          8   

SIGN(n)  取數字n的符號,大於0返回1,小於0返回-1,等於0返回0

BYS@bys1>select sign(3),sign(-9),sign(0) from dual;
   SIGN(3)   SIGN(-9)    SIGN(0)
---------- ---------- ----------
         1         -1          0
###########################################################################################
###########################################################################################

其它不太常用數學計算函式:正切、餘切、正弦、餘弦、對數等

1.ABS   返回指定值的絕對值

SQL> select abs(100),abs(-100) from dual;
 ABS(100) ABS(-100)
--------- ---------
      100       100    

2.ACOS  給出反餘弦的值

SQL> select acos(-1) from dual;
 ACOS(-1)
---------
3.1415927

4.ASIN  給出反正弦的值

SQL> select asin(0.5) from dual;
ASIN(0.5)
---------
.52359878

5.ATAN  返回一個數字的反正切值

SQL> select atan(1) from dual;
  ATAN(1)
---------
.78539816

5.CEIL  返回大於或等於給出數字的最小整數

SQL> select ceil(3.1415927) from dual;
CEIL(3.1415927)
---------------
              4            

6.COS   返回一個給定數字的餘弦

SQL> select cos(-3.1415927) from dual;
COS(-3.1415927)
---------------
             -1          

7.COSH  返回一個數字反餘弦值

SQL> select cosh(20) from dual;
 COSH(20)
---------
242582598

8.SIN   返回一個數字的正弦值

SQL> select sin(1.57079) from dual;
SIN(1.57079)
------------
           1

9.SIGH  返回雙曲正弦的值

SQL> select sin(20),sinh(20) from dual;
  SIN(20)  SINH(20)
--------- ---------
.91294525 242582598

10.SQRT 返回數字n的根

SQL> select sqrt(64),sqrt(10) from dual;
 SQRT(64)  SQRT(10)
--------- ---------
        8 3.1622777

11.TAN  返回數字的正切值

SQL> select tan(20),tan(10) from dual;
  TAN(20)   TAN(10)
--------- ---------
2.2371609 .64836083

12.TANH 返回數字n的雙曲正切值

SQL> select tanh(20),tan(20) from dual;
 TANH(20)   TAN(20)
--------- ---------
        1 2.2371609

13.  EXP   返回一個數字e的n次方根

SQL> select exp(2),exp(1) from dual;
   EXP(2)    EXP(1)
--------- ---------
7.3890561 2.7182818

14.LOG(n1,n2)   返回一個以n1為底n2的對數

SQL> select log(2,1),log(2,4) from dual;
 LOG(2,1)  LOG(2,4)
--------- ---------
        0         2

15.LN 返回一個數字的對數值

SQL> select ln(1),ln(2),ln(2.7182818) from dual;
    LN(1)     LN(2) LN(2.7182818)
--------- --------- -------------
        0 .69314718     .99999999

相關文章