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 nullNULL 参数
如果两个参数都为 NULL, NVL() 将返回 NULL。
SET NULL 'NULL';
SELECT
NVL(NULL, NULL)
FROM dual;
输出:
NVL(NULL,NULL)
_________________
NULL在本示例中,我们使用 SET NULL 'NULL'; 语句将 NULL 值显示为 'NULL' 字符串。
结论
Oracle NVL() 是一个内置函数,它允许您使用一个值替换 NULL 值。