单值函数
四则运算
语法:“+”,“-”,“*”,“/”
功能:数字的四则运算
示例:select 3+2,3-2,3*2,3/2 from dual;
结果:5 1 6 1.5
NULL
语法:表示为空,没有任何意义
功能:最好不要让null参与运算
示例:select 3+NULL,3-NULL,3*NULL,3/NULL from dual;
结果:NULL NULL NULL NULL
NVL:空值置换
语法:NVL(value,substitute)
功能:如果value是null,则用substitute的值代替,否则就是value
示例:select nvl(NULL,123),nvl(0,123) from dual;
结果:123 0
注意:NVL的使用不限于数值,他们同样可以适用于其他数据类型,但是要保证value参数和substitute参数类型是相同的。
NVL2
语法:NVL2(expr1,expr2,expr3)
功能:如果参数表达式expr1值为NULL
则NVL2()函数返回参数表达式expr3的值
如果参数表达式expr1值不为NULL
则NVL2()函数返回参数表达式expr2的值
示例:select nvl2(1,3,4) from dual;
结果:3
实例:select nvl2(null,3,4) from dual;
结果:4
注意:NVL2(表达式,不为空设值,为空设值)
ABS:绝对值
语法:ABS(expr)
功能:取绝对值
示例:简单到不行,就算了
CEIL
语法: CEIL(expr)
功能:CEIL用于产生大于或等于当前值的最小整数
示例:select ceil(1),
ceil(1.2),
ceil(1.5),
ceil(1.6),
ceil(-2),
ceil(-2.4),
ceil(-2.5),
ceil(-2.6)
from dual;
ceil(1.2),
ceil(1.5),
ceil(1.6),
ceil(-2),
ceil(-2.4),
ceil(-2.5),
ceil(-2.6)
from dual;
结果:1 2 2 2 -2 -2 -2 -2
FLOOR
语法: FLOOR(expr)
功能:返回小于或等于指定值的最大整数
示例:
select floor(1), floor(1.2), floor(1.5), floor(1.6), floor(-2), floor(-2.4), floor(-2.5), floor(-2.6) from dual;
结果:1 1 1 1 -2 -3 -3 -3
MOD
语法: MOD(value,divisor)
功能:求余
示例:
select mod(50, 10), mod(15, 4), mod(12.3, 5), mod(5.5, 2.9), mod(-7, 5), mod(0, 5), mod(5, 0), mod(7, -5) from dual;
结果:0 3 2.3 2.6 -2 0 5 2
POWER
语法: POWER(value,exponent)
功能:求一个值的指数乘方
示例:easy !
SQRT
语法: SQRT(value)
功能:求平方根
示例:select sqrt(121) from dual;
等价于:select power(121,0.5) from dual;
结果:11
注意:Oracle不支持虚数,所以这个value不能为负数,否则会返回错误。
ROUND
语法:ROUND(value,precision)
功能:ROUND则根据给定的精读舍入数值。
示例:select round(11,2),round(11.111,2),round(11.888,2),round(11,-1) from dual;
结果: 11 11.11 11.89 10
注意: precision参数可以为负数,表示精度移到小数点左边
TRUNC
语法:TRUNC(value,precision)
功能:TRUNC按精读截取某个实数
示例:select trunc(11,2),trunc(11.111,2),trunc(11.888,2),trunc(11,-1) from dual;
结果: 11 11.11 11.88 10
注意: trunc是直接截取,而round会四舍五入处理。
SIGN
语法: SIGN(value)
功能:取某个数的符号(正或负)
示例:select sign(-100) ,sign(100),sign(0)from dual;
结果:1-、1、0
注意:正数返回1.负数返回-1,零返回0
聚集函数
COUNT
语法:COUNT(*)
功能:返回总的数据条数
示例:COUNT(具体字段)
结果:返回当前字段中不为NULL的个数
注意: 组值函数很多时候会与单值函数结合使用。
常用的组值函数是:AVG,COUNT,MAX,MIN,SUM
功能:字面意思就能看出来
列表函数
GREATEST和LEAST
语法:
GREATEST(value1,value2.value3...) LEAST(value1,value2.value3...)