oracle函数→数值型函数

abs(n):返回指定值的绝对值

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

sign(n):返回指定值的正负值:指定数字大于0返回1小于0返回-1等于0返回0

SQL> select sign(100),sign(-100),sign(0) from dual ;
结果:
SIGN(100) SIGN(-100) SIGN(0)
---------- ---------- ----------
1 -1 0

ceil(x,y):返回大于或者等于指定值的最小整数

SQL> select ceil(3.1),ceil(4.1),ceil(0) from dual ;
结果:
CEIL(3.1) CEIL(4.1) CEIL(0)
---------- ---------- ----------
4 5 0

floor(x,y):返回小于或者等于指定值的最大整数(跟ceil正好相反,可以对比记忆)

SQL> select floor(3.1),floor(4.1),floor(0) from dual ;
结果:
FLOOR(3.1) FLOOR(4.1) FLOOR(0)
---------- ---------- ----------
3 4 0

power(x,y):返回指定X的Y次幂

SQL> select power(2,3) from dual ;
结果:返回2的3次幂
POWER(2,3)
----------
8

exp(n):返回常量e的Y次幂(说明:常量e约等于2.718283)

SQL> select exp(3) from dual ;
结果:返回e的3次幂
EXP(3)
----------
20.0855369
其实就是等价于:
SQL> select power(2.718283,3) from dual ;
结果:
POWER(2.718283,3)
-----------------
20.0855628929444

mod(x,y):返回x除以y的余数

SQL> select mod(23,8) from dual ;
结果:
MOD(23,8)
----------
7

round(x,n):对于指定值x做四舍五入取舍,n表示要参照的精度

SQL> select round(44.3435435,2) from dual;
结果:
ROUND(44.3435435,2)
-------------------
44.34
如果不设置四舍五入的精度的话,那么最后取得的值是对应的整数值。
例如:
SQL> select round(44.3435435) from dual ;
ROUND(44.3435435)
-----------------
44

trunc(x,n):对于指定值x按照精度n只舍不入取值,这里精度值n如果是整数,那么表示小数点后面多少位,如果是负数则表示小数点前面多少位

SQL> select trunc(122.111,2),trunc(122.111,-2) from dual ;
结果值:
TRUNC(122.111,2) TRUNC(122.111,-2)
---------------- -----------------
122.11 100

 

原文地址:https://www.cnblogs.com/yaoxiaoxing/p/5113979.html