Oracle nvl()函数处理null值

Posted 高登军

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle nvl()函数处理null值相关的知识,希望对你有一定的参考价值。

首先我先说一下什么是Oracle的函数,曾经有一位大牛,让我说说熟悉的oracle函数,我当时竟一头雾水,心想“什么oracle函数啊,不就是那些SQL语句吗“,当时我竟然说出了select之类的回答,他几乎要生气,反复强调:“我说了是Oracle函数”,后来他讲,函数可以理解为带有括号的(),后来我慢慢地懂事了之后,就经常百度oracle函数,每次有面试或者复习的时候,我都刻意练练SQL的函数。

使用nvl函数处理null值:

Eg:计算每个人的全年的收入包括月薪和年终津贴

(1)           年薪是(月薪)*12+绩效;

(2)           但绩效(comm)有null值,当comm是null值时,月薪+绩效的结果也是null值;

(3)           所以,当comm为null值时,需要把它当做0来处理。哪个函数能胜此重任呢?nvl();

(4)           nvl()相当于一条if..else语句,如果字段不为空,取原值;

select ename,sal*12 +nvl(comm,0) as 年薪 from emp;

以上是关于Oracle nvl()函数处理null值的主要内容,如果未能解决你的问题,请参考以下文章

字段中有空的时候 进行逻辑运算,mysql 与 oracle 处理函数IFNULL() 与 nvl() ,选取NULL 值 。

Oracle中的通用函数

数据库对null值的处理

在oracle数据库中nvl()是啥函数?

oracle的nvl()函数的用法

Oracle中nvl函数的用法和作用是啥?