阅读更多
Oracle在数值处理方面有诸多强大的函数,但很多在通常情况下我都很少会想起来使用,所以记在这里
Oracle的函数会处理三类数值:单值,值组(Groups of Value), 值列表;
其函数表示法为
FUNCTION(value, [,option])
下面针对三类数值的函数分别介绍:
单值:
1. 加减乘除分别为(+,-,*,/)自不在话下
2.
NULL
NULL不是0,NULL应该被视为一个未知值,所以与NULL发生的计算结果都被视为NULL。
3.
NVL,空值转换
比如,NVL(Price, 20) ,如果Price为NULL的话,就用20代替之
4.
CEIL和
FLOOR
CEIL(注意不是CELL...) 只产生大于或等于指定值的最小整数;
比如CEIL(3)=3, CEIL(2.5)=3, CEIL(-1.3)=-1;
FLOOR与CEIL相反,只产生小于或等于指定之的最大整数
FLOOR(2.5)=2, FLOOR(-1.3)=-2
5.
MOD 就是取模
6.
POWER
计算一个值与给定的正指数(不是正整数)的乘方
POWER(3,2)=9, POWER(64,0.5)=8
7.
SQRT
与POWER(value, 0.5)一个值,Oracle没法计算负数的平方根,类似SQRT(-4)会报错
8.
EXP,LN和LOG
EXP是e的幂运算,LN是自然对数(以e为底数的对数),LOG自然也懂的...
9.
ROUND和
TRUNC
ROUND表示根据制定的精度舍入数值
TRUNC是指根据制定精度截取数值
比如ROUND(55.555,2)=55.56, 而TRUNC(55.555,2)=55.55
10.
SIGN给出值的符号,比如SIGN(-234)=-1, SIGN(13)=1,SIGN(0)=0
11. 还有很多三角函数,这里不再一一介绍,包括
SIN,SINH,COS,COSH,TAN,TANH, ACOS, ATAN, ATAN2和ASIN