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