美文网首页
nvl的用法

nvl的用法

作者: 我不是天天 | 来源:发表于2016-12-26 16:44 被阅读0次

1.NVL ( )语法:nvl(expr1,expr2)

如果 expr1 是 null 值,则 nvl 函数返回 expr2 ,否则就返回 expr1 。

说明:参数 expr1、expr2 可以是任何数据类型,但应该保持相同。若两者数据类型不一致,则Oracle数据库会隐式的转换其中一个的数据类型使其保持和另一个一致,若无法转换则会返回错误。隐式转换的实施规则如下:

(1)若 expr1 是字符数据,则Oracle数据库在比较之前就会把 expr2 转换成 expr1 的数据类型并且返回 VARCHAR2 数据类型到 expr1 的字符集。

(2) 若 expr1 是数值型,则Oracle数据库决定哪个参数具有最高数值优先级,并把另一个参数的数据类型隐式转换成这种数据类型,并返回这种数据类型的数据。

实例:返回员工姓名和奖金,若该员工没有奖金则返回 Not Applicable

SELECT last_name, NVL(TO_CHAR(commission_pct), 'Not Applicable')        "COMMISSION"

FROM employees

WHERE last_name LIKE 'B%'

ORDER BY last_name;

2

2.NVL2 ( )

语法:nvl2(expr1,expr2,expr3)

如果 expr1 不是 null 值,则 nvl 函数返回 expr2 ,否则就返回 expr3 。参数可以返回任何数据类型的值,但是 expr2 和 expr3 不能是 LONG 型的数据类型。

说明:若 expr2 和 expr3 的数据类型不同:

(1)若 expr2 是字符数据,则Oracle数据库在比较之前就会把 expr3 转换成 expr2 的数据类型除非 expr3 是null。在 这种情况下,隐式数据转换是不必要的。Oracle数据库返回 VARCHAR2 数据类型到 expr2 的字符集。

(2) 若 expr2 是数值型,则Oracle数据库决定哪个参数具有最高数值优先级,并把另一个参数的数据类型隐式转换成这种数据类型,并返回这种数据类型的数据。

实例:返回员工收入,看员工收入(income)是否由工资(salary)加奖金(commission)组成,这取决于commission_pct列是否为null

SELECT last_name, salary, NVL2(commission_pct, salary + (salary *       commission_pct), salary) income FROM employees

WHERE last_name like 'B%'

ORDER BY last_name;

相关文章

  • nvl的用法

    1.NVL ( )语法:nvl(expr1,expr2) 如果 expr1 是 null 值,则 nvl 函数返回...

  • Oracle的nvl函数和nvl2函数

    一、基本语法 介绍一下oracle的nvl函数和nvl2函数。 nvl函数nvl函数基本语法为nvl(E1,E2)...

  • 2020-11-17 记录

    记录工作中点滴。千里之行始于足下 Orcale 中 NVL函数 、months_between、trunc函数用法...

  • oracle+NVL,NVL2,NULLIF,COALESCE

    在介绍这个之前你必须明白什么是oracle中的空值null1.NVL函数**NVL函数的格式如下:NVL(expr...

  • nvl、nvl2、nullif、coalesce函数的区别

    1.NVL函数 NVL函数的格式如下:NVL(expr1,expr2) 含义是:如果oracle第一个参数为空那么...

  • Hive其他常用查询函数

    空字段赋值 函数说明NVL:给值为NULL的数据赋值,它的格式是NVL( value,default_value)...

  • Hive常用查询函数

    空字段赋值 函数说明:NVL:给值为 NULL 的数据赋值,它的格式是NVL( string1, replace_...

  • NVL,NVL2,NULLIF,COALESCE

    一、NVL(exp1,exp2)--如果第一个参数的值不为空,则返回第一个参数的值;否则,返回第二个参数的值。SQ...

  • oracle基础(第四节)

    --单行函数 通用函数--通用函数--(1)nvl--nvl(expr1,expr2): 当表达式expr1的结果...

  • 5、单行函数—通用函数

    NVL()函数 NVL(E1, E2)的功能为:如果E1为NULL,则函数返回E2,否则返回E1本身 select...

网友评论

      本文标题:nvl的用法

      本文链接:https://www.haomeiwen.com/subject/awwjvttx.html