当前位置:数据库 > Oracle >>

ORACLE单行函数与多行函数之三:数值函数

ORACLE单行函数与多行函数之三:数值函数
 
常用数字转换类: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

 


Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,