Oracle常用数值型函数
1、求绝对值
格式:
ABS(x)
举例:
SQL> select ABS(-25.1) as RESULT from dual;
RESULT
----------
25.1
2、取整函数
格式:
FLOOR(x) --返回小于或等于x的最大整数
CEIL(x) --返回大于或等于x的最小整数
举例:
SQL> select FLOOR(25.99) as RESULT from dual;
RESULT
----------
25
SQL> select FLOOR(-25.99) as RESULT from dual;
RESULT
----------
-26
SQL> select CEIL(25.01) as RESULT from dual;
RESULT
----------
26
SQL> select CEIL(-25.01) as RESULT from dual;
RESULT
----------
-25
3、求常数e的幂
格式:
EXP(x) --返回常数e的x次方
举例:
SQL> select EXP(1) as RESULT from dual;
RESULT
----------
2.71828183
4、求自然对数
格式:
LN(x)
举例:
SQL> select LN(EXP(2)) as RESULT from dual;
RESULT
----------
2
5、求对数
格式:
LOG(x,y) --求以x为底y的对数
举例:
SQL> select LOG(2,1024) as RESULT from dual;
RESULT
----------
10
SQL> select LOG(5,125) as RESULT from dual;
RESULT
----------
3
6、求余函数
格式:
MOD(x,y) --返回x除以y的余数
举例:
SQL> select MOD(15,6) as RESULT from dual;
RESULT
----------
3
7、求乘方
格式:
POWER(x,n) --返回x的n次方
举例:
SQL> select POWER(2,10) as RESULT from dual;
RESULT
----------
1024
SQL> select POWER(5,3) as RESULT from dual;
RESULT
----------
125
8、四舍五入函数
格式:
ROUND(x,n) --对x进行四舍五入运算,保留n位小数
说明:x可以省略,此时保留0位小数。
举例:
SQL> select ROUND(12.589,2) as RESULT from dual;
RESULT
----------
12.59
SQL> select ROUND(12.589) as RESULT from dual;
RESULT
----------
13
SQL> select ROUND(12.589,-1) as RESULT from dual;
RESULT
----------
10
9、截取小数
格式:
TRUNC(x,n) --保留n位小数,把n位以后的数字直接截断
举例:
SQL> select TRUNC(126.589,2) as RESULT from dual;
RESULT
----------
126.58
SQL> select TRUNC(126.589) as RESULT from dual;
RESULT
----------
126
SQL> select TRUNC(126.589,-1) as RESULT from dual;
RESULT
----------
120
10、判断一个数值的符号
格式:
SIGN(x) --如果x大于0返回1,如果x小于0返回-1,如果x=0则返回0
举例:
SQL> select SIGN(12) as RESULT from dual;
RESULT
----------
1
SQL> select SIGN(-312) as RESULT from dual;
RESULT
----------
-1
SQL> select SIGN(0) as RESULT from dual;
RESULT
----------
0
9、截取小数
格式:
TRUNC(x,n) --保留n位小数,把n位以后的数字直接截断
举例:
SQL> select TRUNC(126.589,2) as RESULT from dual;
RESULT
----------
126.58
SQL> select TRUNC(126.589) as RESULT from dual;
RESULT
----------
126
SQL> select TRUNC(126.589,-1) as RESULT from dual;
RESULT
----------
120
10、求平方根
格式:
SQRT(x)
举例:
SQL> select SQRT(25) as RESULT from dual;
RESULT
----------
5