oracle-sql数值函数

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

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

FLOOR(n)

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

select floor(4.9) from dual;
FLOOR(4.9)

----------

4

ABS(n)

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

Select abs(-1) from dual
ABS(-1)

----------

1

ACOS(n)

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

ASIN(n)

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

ATAN(n)

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

ATAN2(n,m)

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

CEIL(n)

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

select ceil(3.1) from dual;
CEIL(3.1)

----------

4

COS(n)

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

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

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

-1

COSH(n)

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

select cosh(0) from dual;
COSH(0)

----------

1

EXP(exp)

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

select exp(2) from dual;
EXP(2)

----------

7.38905609

LN(n)

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

select ln(2) from dual;
LN(2)

----------

0.69314718

LOG(n,n2)

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

select log(2,8) from dual;
LOG(2,8)

----------

3

MOD(n,n2)

返回参数n除以参数n2时的余数.

select mod(10,2) from dual;
MOD(10,2)

----------

0

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

POWER(n,n2)

返回以第2个参数为底第1个参数为幂时的乘幂.

select power(2,3) from dual;
POWER(2,3)

----------

8

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

SIGN(n)

返回参数n的符号.

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

  • 参数=0,返回0;

  • 参数>0,返回1;

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

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

select sign(-10) from dual;
SIGN(-10)

----------

-1

SIN(n)

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

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

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

0.50000000000003

SINH(n)

返回参数的双曲正弦.

select sinh(0) from dual;
SINH(0)

----------

0

SQRT(n)

返回参数的平方根.

select sqrt(9) from dual;
SQRT(9)

----------

3

TAN(n)

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

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

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

1.0000000000001

TANH(n)

返回参数的双曲正切.

select tanh(1) from dual;
TANH(1)

----------

0.76159415

原文出处:/show_1EF34pFTZpL7.html