什么是nvl

核心提示NVL是Oracle PL/SQL中的一个函数,是一个空值转换函数。它的格式是NVL( string1, replace_with)。它的功能是如果string1为NULL,则NVL函数返回replace_with的值,否则返回string

最佳答案:

NVL是Oracle PL/SQL中的一个函数,是一个空值转换函数。它的格式是NVL( string1, replace_with)。它的功能是如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值,如果两个参数都为NULL ,则返回NULL。

详情介绍

NVL是Oracle PL/SQL中的一个函数,是一个空值转换函数。它的格式是NVL( string1, replace_with)。它的功能是如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值,如果两个参数都为NULL ,则返回NULL。

中文名
nvl
分类
函数
用途
编程
平台
Oracle PL/SQL

nvl定义

ORACLE NVL函数接受两个参数。它返回第一个非 NULL参数,如果所有参数都是 NULL,则返回 NULL。

COALESCE 表达式可被转换成等效的 NVL表达式这样的:

COALESCE ( val1, ... , val{n} )

变成:

NVL( val1 , NVL( val2 , NVL( val3 , … , NVL ( val{n-1} , val{n} ) … )))

这个函数的用例是在一个表达式中用某一特定值替换 NULL,例如NVL(SALARY, 0),意为'若薪资字段缺少值,则以 0 替换它'。但有一个明显例外,在大多数实现中 COALESCE 只评估其参数表表到逹第一个非 NULL值,这有几个重要的原因:第一个非 NULL 参数之后的参数可能是一个函数,它可能在计算成本上很昂贵、无效、或者可能会产生意料之外的副作用;然而 NVL 将评估参数表表其中的所有参数。

nvlNVL2

Oracle在NVL函数的功能上扩展,提供了NVL2函数。

NVL2(E1, E2, E3)的功能为:如果E1为NULL,则函数返回E3,否则返回E2。

 
友情链接
鄂ICP备19019357号-22