Oracle SQL函数之数学函数
ABS(x) 【功能】返回x的绝对值 【参数】x,数字型表达式 【返回】数字 SQL> SELECT ABS(100),ABS(-100) FROM DUAL; ABS(100) ABS(-100) ---------- ---------- 100 100 sign(x) 【功能】返回x的正负值 【参数】x,数字型表达式 【返回】数字,若为正值返回1,负值返回-1,0返回0 SQL> SELECT SIGN(100),SIGN(-100),SIGN(0) FROM DUAL; SIGN(100) SIGN(-100) SIGN(0) ---------- ---------- ---------- 1 -1 0 ceil(x) 【功能】返回大于等于x的最小整数值 【参数】x,数字型表达式 【返回】数字 SQL> SELECT CEIL(3.1),CEIL(1.2+2),CEIL(0) FROM DUAL; CEIL(3.1) CEIL(1.2+2) CEIL(0) ---------- ----------- ---------- 4 4 0 floor(x) 【功能】返回小于等于x的最大整数值 【参数】x,数字型表达式 【返回】数字 SQL> SELECT FLOOR(3.1),FLOOR(1.2+2),FLOOR(0) FROM DUAL; FLOOR(3.1) FLOOR(1.2+2) FLOOR(0) ---------- ------------ ---------- 3 3 0 power(x,y) 【功能】返回x的y次幂 【参数】x,y 数字型表达式 【返回】数字 SQL> SELECT POWER(2,2),POWER(2,3),POWER(2,-1),POWER(2.5,2),POWER(2,0) FROM DUAL; POWER(2,2) POWER(2,3) POWER(2,-1) POWER(2.5,2) POWER(2,0) ---------- ---------- ----------- ------------ ---------- 4 8 0.5 6.25 1 exp(y) 【功能】返回e的y次幂(e为数学常量) 【参数】y,数字型表达式 【返回】数字 SQL> SELECT EXP(3),EXP(0),EXP(-3) FROM DUAL; EXP(3) EXP(0) EXP(-3) ---------- ---------- ---------- 20.0855369 1 0.04978706 log(x,y) 【功能】返回以x为底的y的对数 【参数】x,y,数字型表达式, 【条件】x,y都必须大于0 【返回】数字 SQL> SELECT POWER(4,2),LOG(16,2),1/LOG(16,4) FROM DUAL; POWER(4,2) LOG(16,2) 1/LOG(16,4) ---------- ---------- ----------- 16 0.25 2 ln(y) 【功能】返回以e为底的y的对数(e为数学常量) 【参数】y,数字型表达式 (条件y>0) 【返回】数字 SQL> select exp(3),exp(-3),ln(20.0855369),ln(0.049787068) from dual; EXP(3) EXP(-3) LN(20.0855369) LN(0.049787068) ---------- ---------- -------------- --------------- 20.0855369 0.04978706 2.999999998845 -3.000000007388 mod(x,y) 【功能】返回x除以y的余数 【参数】x,y,数字型表达式 【返回】数字 SQL> SELECT MOD(23,8),MOD(24,8) FROM DUAL; MOD(23,8) MOD(24,8) ---------- ---------- 7 0 round(x[,y]) 【功能】返回四舍五入后的值 【参数】x,y,数字型表达式,如果y不为整数则截取y整数部分,如果y>0则四舍五入为y位小数,如果y小于0则四舍五入到小数点向左第y位。 【返回】数字 SQL> select round(5555.6666,2.1),round(5555.6666,-2.6),round(5555.6666) from dual; ROUND(5555.6666,2.1) ROUND(5555.6666,-2.6) ROUND(5555.6666) -------------------- --------------------- ---------------- 5555.67 5600 5556 trunc(x[,y]) 【功能】返回x按精度y截取后的值 【参数】x,y,数字型表达式,如果y不为整数则截取y整数部分,如果y>0则截取到y位小数,如果y小于0则截取到小数点向左第y位,小数前其它数据用0表示。 【返回】数字 SQL> select trunc(5555.66666,2.1),trunc(5555.66666,-2.6),trunc(5555.033333) from dual; TRUNC(5555.66666,2.1) TRUNC(5555.66666,-2.6) TRUNC(5555.033333) --------------------- ---------------------- ------------------ 5555.66 5500 5555 sqrt(x) 【功能】返回x的平方根 【参数】x数字型表达式 【返回】数字 SQL> select sqrt(64),sqrt(9),sqrt(10)from dual; SQRT(64) SQRT(9) SQRT(10) ---------- ---------- ---------- 8 3 3.16227766 三角函数: SIN(x) 【功能】返回一个数字的正弦值 【示例】select sin(1.57079) from dual; 返回: 1 SIGH(x) 【功能】返回双曲正弦的值 【示例】select sin(20),sinh(20) from dual; 返回:0.91294525, 242582598 COS(x) 【功能】返回一个给定数字的余弦 【示例】select cos(-3.1415927) from dual; 返回: -1 COSH(x) 【功能】返回一个数字反余弦值 【示例】select cosh(20) from dual; 返回:242582598 TAN 【功能返回数字的正切值 【示例】select tan(20),tan(10) from dual; 返回:2.2371609 ,0.64836083 TANH 【功能返回数字n的双曲正切值 【示例】select tanh(20),tan(20) from dual; 返回:1 ,2.2371609 ASIN(x) 【功能】给出反正弦的值 【示例】select asin(0.5) from dual; 返回:0.52359878 ACOS(x) 【功能】给出反余弦的值 【示例】select acos(-1) from dual; 返回:3.1415927 ATAN(x) 【功能】返回一个数字的反正切值 【示例】 select atan(1) from dual; 返回:0.78539816