与空值(null)相关的函数

1.NVL函数

 

语法:NVL(expr1,expr2)

作用:如果expr1不是null,返回expr1,否则返回expr2

如下面例子所示

SELECT NVL(NULL,1) FROM DUAL;--输出结果为:1

SELECT NVL(2,1) FROM DUAL;--输出结果为:2

 

2.NVL2函数

语法:NVL(expr1,expr2,expr3)

作用:如果expr1不是null,返回expr2,否则返回expr3

如下面例子所示:

SELECT NVL2(NULL,1,3) FROM DUAL;--输出结果为:3

SELECT NVL2(4,2,1) FROM DUAL;--输出结果为:2

3.NULLIF函数

语法:NULLIF(expr1,expr2)

作用:比较两个表达式,如果相等,返回null,否则返回第一个表达式

如下面例子所示:

SELECT NULLIF(1,1) FROM DUAL;--输出结果为:空

SELECT NULLIF(4,2) FROM DUAL;--输出结果为:4

 

 

4.COALESCE函数

语法:COALESCE(expr1,expr2,...,exprn)

COALESCE(表达式1,表达式2,...表达式n)函数是对NVL函数的扩展。COALESCE函数的功能是返回第一个不为空的参数,参数个数不收限制。

如下面例子所示:

SELECT COALESCE(NULL,NULL,1,2,3) FROM DUAL;--输出结果为:1

SELECT COALESCE(NULL,5,3,9) FROM DUAL;--输出结果为:5

SELECT COALESCE(8,1,3,9) FROM DUAL;--输出结果为:8

你可能感兴趣的:(Oracle,数据库)