ORACLE常用函数汇总【转】

NVL(x1,x2)

在如何理解NULL上开始是很困难的,就算是一个很有经验的人依然对此感到困惑。NULL值表示一个未知数据或者一个空值,算术操作符的任何一个操作数为NULL值,结果均为提个NULL值,这个规则也适合很多函数,只有CONCAT,DECODE,DUMP,NVL,REPLACE在调用了NULL参数时能够返回非NULL值。在这些中NVL函数时最重要的,因为他能直接处理NULL值,NVL有两个参数:NVL(x1,x2),x1和x2都是表达式,当x1为null时返回X2,否则返回x1。

下面我们看看emp数据表它包含了薪水、奖金两项,需要计算总的补偿

column name emp_id salary bonuskey type pk nulls/unique nn,u nnfk table datatype number number numberlength 11.2 11.2

不是简单的将薪水和奖金加起来就可以了,如果某一行是null值那么结果就将是null,比如下面的例子:

update empset salary=(salary+bonus)*1.1

这个语句中,雇员的工资和奖金都将更新为一个新的值,但是如果没有奖金,即 salary + null,那么就会得出错误的结论,这个时候就要使用nvl函数来排除null值的影响。

所以正确的语句是:

update empset salary=(salary+nvl(bonus,0)*1.1

 

单行字符串函数

单行字符串函数用于操作字符串数据,他们大多数有一个或多个参数,其中绝大多数返回字符串

 

http://www.cnblogs.com/ringwang/p/3561758.html

http://blog.csdn.net/tercel99/article/details/20461685

http://www.jb51.net/article/91232.htm

posted @ 2017-10-17 09:35  美好的明天  阅读(348)  评论(0编辑  收藏  举报