oracle nvl函数

本文介绍了nvl函数的使用,它可将空值转换为实际值,支持日期、数字、字符等数据类型,且转换后返回值类型须与第一个参数类型匹配。还给出计算员工年薪时,用0代替空奖金的例子。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载自SUMSEN的博客

使用

nvl函数可以将一个空的值转换为实际的值,数据类型可以是日期,数字,字符。数据类型必须匹配:

   nvl(commision,0)
   nvl(hiredate,'01-JAN-87')
   nvl(job_id,'no manager') nvl(to_char(job_id),'no manager')

nvl能够转换任何数据类型,但是转换的数据类型返回值必须是nvl(expr1,expr2)第一个参数expr的类型。如:date,number, varchar2 or char

例子

计算员工的年薪,奖金为空的用0代替。

SQL> select empno,ename,sal,nvl(comm,0) comm, (sal+nvl(comm,0))*12 annual_sal fr
om emp ;

     EMPNO ENAME             SAL       COMM ANNUAL_SAL
---------- ---------- ---------- ---------- ----------
      7369 SMITH             800          0       9600
      7499 ALLEN            1600        300      22800
      7521 WARD             1250        500      21000
      7566 JONES            2975          0      35700
      7654 MARTIN           1250       1400      31800
      7698 BLAKE            2850          0      34200
      7782 CLARK            2450          0      29400
      7788 SCOTT            3000          0      36000
      7839 KING             5000          0      60000
      7844 TURNER           1500          0      18000
      7876 ADAMS            1100          0      13200

     EMPNO ENAME             SAL       COMM ANNUAL_SAL
---------- ---------- ---------- ---------- ----------
      7900 JAMES             950          0      11400
      7902 FORD             3000          0      36000
      7934 MILLER           1300          0      15600
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值