Home > Database > Mysql Tutorial > Oracle DB NVL、NVL2、NULLIF、COALESCE函数

Oracle DB NVL、NVL2、NULLIF、COALESCE函数

WBOY
Release: 2016-06-07 17:32:26
Original
1366 people have browsed it

Oracle DB NVL、NVL2、NULLIF、COALESCE函数

  • 常规函数
  • 下列函数可用于任何数据类型,且适合使用空值的场合:

    • NVL (expr1, expr2)

    • NVL2 (expr1, expr2, expr3)

    • NULLIF (expr1, expr2)

    • COALESCE (expr1, expr2, ..., exprn)

     

    下列函数可用于任何数据类型,且适合表达式列表中使用空值的场合。

     

  • NVL函数
  • 将空值转换为实际值:

    • 可以使用的数据类型为日期、字符和数字。

    • 数据类型必须匹配:

    – NVL(commission_pct,0)

    – NVL(hire_date,'01-JAN-97')

    – NVL(job_id,'NoJob Yet')

     

    要将空值转换为实际值,请使用NVL函数。

    语法

    NVL (expr1, expr2)

    在该语法中:

    • expr1是可能包含空值的源值或表达式

    • expr2是用于转换空值的目标值

    可以使用NVL函数转换任意数据类型,但是返回值始终与expr1具有相同的数据类型

    各种数据类型的NVL转换

     

  • 使用NVL函数
  •  

    LAST_NAME SALARY NVL(COMMISSION_PCT,0) AN_SAL

    ------------------------- ---------- --------------------- ----------

    OConnell 2600 0 31200

    Khoo 3100 0 37200

    Vargas 2500 0 30000

    Russell 14000 .4 235200

    Bernstein 9500 .25 142500

     

     

    要计算所有雇员的年度报酬,需要将月薪乘以12,然后再加上佣金百分比:

    hr@TEST0924> SELECT last_name, salary, commission_pct, (salary*12) + (salary*12*commission_pct) AN_SAL FROM employees;

     

    LAST_NAME SALARY COMMISSION_PCT AN_SAL

    ------------------------- ---------- -------------- ----------

    OConnell 2600

    Vargas 2500

    Russell 14000 .4 235200

    Taylor 3200

     

    请注意,仅为那些领取佣金的雇员计算了年度报酬。如果表达式中的任何列值为空,,则结果也为空。要计算所有雇员的年度报酬,必须将空值转换为数字,然后才能应用算术运算符。在示例中,NVL函数用于将空值转换为零。

    更多详情见请继续阅读下一页的精彩内容

    相关阅读:

    Oracle COALESCE函数  

    Oracle 常用函数:nvl/NULLIF/case when/wm_concat/replace 

    Oracle NULLIF函数

    Oracle NULLIF函数的使用

    Oracle nvl(),NVL2()函数介绍

    Oracle中的NVL函数

    关于Oracle数据库中的NVL函数

    linux

    Related labels:
    source:php.cn
    Statement of this Website
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
    Popular Tutorials
    More>
    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template