Oracle中的常用数值函数

来源:互联网 发布:企业版专车软件 编辑:程序博客网 时间:2024/05/29 11:16

单值函数


四则运算


语法:“+”,“-”,“*”,“/”

功能:数字的四则运算

示例: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;


结果: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...)


功能:函数GREATEST和LEAST用于返回最大和最小的值。

注意: 他们参数可以是多个,可以使用列、常量、计算结果等

他们不仅限于数值类型中使用,也可以用于字符串类型


coalesce


语法: COALESCE(value1,value2.value3…)

功能:依次参考各参数表达式,遇到非null值即停止并返回该值

注意:如果所有的表达式都是空值,最终将返回一个空值

原创粉丝点击