ORACLE 常用数值函数

1 ABS(n)
返回数值弄参数的绝对值.它接受一个数值型值作为输入参数,或者任何可以隐式地转换为数值型值的值.并且返回数值型值的绝对值.

Select abs(-1) from dual

ABS(-1)

----------

1

2 ACOS(n)
返回参数的反余弦角度,参数为数值型值或可以隐式地转换为数值型值的值.参数的取值范围为-1至1.

 

3 ASIN(n)
返回参数的反正弦角度, 参数为数值型值或可以隐式地转换为数值型值的值.参数的取值范围为-1至1.

 

4.ATAN(n)
返回参数的反正切值角度, 参数为数值型值或可以隐式地转换为数值型值的值.返回值表示为弧度.

5 ATAN2(n,m)
返回两个参数的反正切角度,这两个参数为数值型值或可以隐式地转换为数值型值的值.返回值表示为弧度.

6 CEIL(n)
返回与大于参数的最小整数. 参数为数值型值或可以隐式地转换为数值型值的值.

select ceil(3.1) from dual;

 

CEIL(3.1)

----------

4

 

7 COS(n)
返回参数的余弦, 参数为数值型值或可以隐式地转换为数值型值的值.该参数应该是一个表示为弧度的角度.

select cos(180*3.14159265359/180) from dual;

 

COS(180*3.14159265359/180)

--------------------------

-1

8 COSH(n)
返回参数的双曲余弦,参数为数值型值或可以隐式地转换为数值型值的值. 该参数应该是一个表示为弧度的角度.

select cosh(0) from dual;

 

COSH(0)

----------

1

9 EXP(exp)
返回exp参数的2.71828183次幂. 参数为数值型值或可以隐式地转换为数值型值的值.

select exp(2) from dual;

 

EXP(2)

----------

7.38905609

 

10 FLOOR(n)
返回小于或等于参数的最大整数. 参数为数值型值或可以隐式地转换为数值型值的值.

select floor(4.9) from dual;

 

FLOOR(4.9)

----------

4

 

11 LN(n)
返回参数的自然对数. 参数为数值型值或可以隐式地转换为数值型值的值.

select ln(2) from dual;

 

LN(2)

----------

0.69314718

 

12 LOG(n,n2)
返回第2个参数在第一个参数为底时的对数.底可以是除0和1之外的任何正数.第二参数可以是任意正整数.

select log(2,8) from dual;

 

LOG(2,8)

----------

3

 

13 MOD(n,n2)
返回参数n除以参数n2时的余数.

select mod(10,2) from dual;

 

MOD(10,2)

----------

0

 

14 NANVL(n,n2)
返回其值为非数字的某个binary_float或binary_number的替换值.第1个参数是需要检查的数字,第2个参数是当第一个参数为NaN时替换值.

select nanvl(to_binary_float('NaN'),-1) from dual;

 

NANVL(TO_BINARY_FLOAT('NAN'),0

------------------------------

0

15 POWER(n,n2)
返回以第2个参数为底第1个参数为幂时的乘幂.

select power(2,3) from dual;

 

POWER(2,3)

----------

8

 

16 REMAINDER(n,n2)
返回第1个参数除以第2个参数时的余数.在用remainder (n,n2)和mod(n,n2)函数在进行运算时,都用了一个公式result=n-n2*(n/n2),区别在于计算n/n2时的处理方式不同.
在remainder(n,n2)函数中,采用round(n/n2),而在mod(n,n2)函数中采用floor(n/n2);

select mod(1.5,1),remainder(1.5,1) from dual;

 

MOD(1.5,1) REMAINDER(1.5,1)

---------- ----------------

0.5 -0.5

 

17 ROUND(n,n2)
将参数n按照n2指定的小数位进行四舍五入.不指定n2时默认n2为0,即近似到个位.如果第2个参数为负数时将对小数点左边的数作四舍五入,会入到左面的|n|+1位.

select round(345.678,2) from dual; --四舍五入到百分位(小数点后第2位)

 

ROUND(345.678,2)

----------------

345.68

 

select round(345.678) from dual; --四舍五入到个位(小数点前第1位)

 

ROUND(345.678)

--------------

346

 

select round(345.678,-1) from dual; --四舍五入到十位(小数点前第(|-1|+1)2位)

 

ROUND(345.678,-1)

-----------------

350

 

18 SIGN(n)
返回参数n的符号.

l 参数n<0,返回-1;

l 参数=0,返回0;

l 参数>0,返回1;

l 如果参数为BINARY_FLOAT或BINARY_DOUBLE,且小于0,返回-1;

l 如果参数为BINARY_FLOAT或BINARY_DOUBLE,且大于或等于0,返回1;

 

select sign(-10) from dual;

 

SIGN(-10)

----------

-1

19 SIN(n)
返回参数的正弦, 参数为数值型值或可以隐式地转换为数值型值的值.该参数应该是一个表示为弧度的角度.

 

select sin(30*3.14159265359/180) from dual;

 

SIN(30*3.14159265359/180)

-------------------------

0.50000000000003

 

20 SINH(n)
返回参数的双曲正弦.

 

select sinh(0) from dual;

 

SINH(0)

----------

0

 

21 SQRT(n)
返回参数的平方根.

select sqrt(9) from dual;

 

SQRT(9)

----------

3

 

22 TAN(n)
返回参数的正切值. 参数为数值型值或可以隐式地转换为数值型值的值.该参数应该是一个表示为弧度的角度.

select tan(45*3.14159265359/180) from dual;

 

TAN(45*3.14159265359/180)

-------------------------

1.0000000000001

 

23 TANH(n)
返回参数的双曲正切.

 

select tanh(1) from dual;

 

TANH(1)

----------

0.76159415

 

24 TRUNC(n,n2)
将参数n截取到n2指定的小数位.参数n2可以是一个指定截取小数点右面的正整数,也可以是一个指定截取小数点右边的负整数(这时的位数为|n2|+1).如果n2为0或不输入n2则截取到小数点左侧的个位数.

select TRUNC(345.678,2) from dual; --截取到百分位(小数点后第2位)

 

TRUNC(345.678,2)

----------------

345.67

 

select TRUNC(345.678) from dual; --截取到个位(小数点前第1位)

 

TRUNC(345.678)

--------------

345

 

select TRUNC(345.678,-1) from dual; --截取十位(小数点前第(|-1|+1)2位)

 

TRUNC(345.678,-1)

-----------------

340

 

posted @ 2016-09-18 16:21  踏叶乘风  阅读(5149)  评论(0编辑  收藏  举报