oracle nvl nullif,OracleDBNVL、NVL2、NULLIF、COALESCE函数

Oracle DB NVL、NVL2、NULLIF、COALESCE函数

常规函数

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

• NVL (expr1, expr2)

• NVL2 (expr1, expr2, expr3)

• NULLIF (expr1, expr2)

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

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

2f506d2e6bd53bcf1f38c6c618aa8733.png

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转换

4f9ae0306d98684c689775a880e9b83d.png

使用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函数

logo.gif 本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:php中文网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值