Oracle NVL() 函数使用指南
Oracle NVL()
是一个内置函数,它允许您使用一个值替换 NULL
值。
Oracle NVL()
语法
这里是 Oracle NVL()
函数的语法:
NVL(expr1, expr2)
参数
expr1
-
必需的。一个值或者表达式。
expr2
-
必需的。另一个值或者表达式。
参数 expr1
和 expr2
可以有任何数据类型。如果它们的数据类型不同,则 Oracle 数据库会将一种数据类型隐式转换为另一种数据类型。如果它们不能隐式转换,则数据库返回错误。隐式转换实现如下:
- 如果
expr1
是字符数据,则 Oracle 数据库在比较前将将expr2
转换为expr1
的数据类型,并以expr1
的字符集返回VARCHAR2
。 - 如果
expr1
是数字,则 Oracle 数据库确定哪个参数具有最高的数字优先级,隐式地将另一个参数转换为该数据类型,然后返回该数据类型。
返回值
如果 expr1
为 NULL
,则 Oracle NVL
返回 expr2
。如果 expr1
不为 NULL
,则 NVL
返回 expr1
。
如果两个参数都为 NULL
, NVL()
将返回 NULL
。
Oracle NVL()
示例
这里有几个展示了 Oracle NVL()
函数用法的示例。
基本用法
SELECT
NVL(NULL, 'expr1 is null'),
NVL('expr1 is not null', 'expr2')
FROM dual;
输出:
NVL(NULL,'EXPR1ISNULL') NVL('EXPR1ISNOTNULL','EXPR2')
__________________________ ________________________________
expr1 is null expr1 is not null
NULL 参数
如果两个参数都为 NULL
, NVL()
将返回 NULL
。
SET NULL 'NULL';
SELECT
NVL(NULL, NULL)
FROM dual;
输出:
NVL(NULL,NULL)
_________________
NULL
在本示例中,我们使用 SET NULL 'NULL';
语句将 NULL
值显示为 'NULL'
字符串。
结论
Oracle NVL()
是一个内置函数,它允许您使用一个值替换 NULL
值。