NULL 函数

NULL 函数是用来处理空值时比较好的选择。

1. NVL(expr1,expr2) 函数。

替换 NULL 值,表示如果 expr1NULL 值,则返回 expr2 的值,否则返回 expr1 的值。

该函数要求两个参数类型一致,至少相互间能进行隐式的转换,否则会提示出错。

例如,下面的示例将查询 emp 表中的记录,如果记录中有该字段为空的,则用 0 替换。相关脚本如下:

select ename, nvl(comm, 0)
from emp;

2. NVL2(expr1,expr2,expr3) 函数。

该函数同 NVL 类似,不同的是当 expr1NULL 时,函数返回 expr3 的值;当 expr1 不为空时,则返回 expr2 的值。

select ename, comm, nvl2(comm, '没有奖金', '有奖金')
from emp;

3. COALESCE(expr) 函数。

返回列表中第一个不为 null 的表达式。如果都为 null ,则返回一个 null

示例脚本如下:

select coalesce(null, 9 - 9, null)
from dual;

4. LNNVL(condition) 函数。

该函数可以得到除了 condition 要求条件之外的数据,包括 NULL 的条件,通常用于 WHERE 条件中。

下面的示例将得到 emp 表中奖金低于 1000 的人,并包含奖金为 NULL 的人。

示例脚本如下:

select *
from emp
where lnnvl(comm < 1000);
© 2019 刘士. All rights reserved.

结果匹配 ""

    没有匹配的结果 ""