nvl与nvl2

我在数据库里面查询东西的时候,很多时候我们新增了字段后,那些老数据就为null,在查询的时候操作不是很方便。

于是发现了nvl和nvl2函数可以让我真确的操作以前的数据。

1.nvl

语法:nvl(expr1,expr2);

expr1:表达式,字段名,或者查询出来的一列的列名

expr2:如果expr1的值为null,则返回expr2的值。如果expr1不为空,那么就返回expr1的值

如案例:

sql--------------------------------------------结果

select nvl(null,1) from dual;---------------1

select nvl(2,1) from dual;---------------2

select nvl(sum(null),1) from dual;-------1

select nvl(sum(2),1) from dual;-------2

2.nvl2

语法:nvl2(expr1,expr2,expr3)

expr1:表达式,字段名,或者查询出来的一列的列名

expr2:如果表达式不为空,则返回expr2的值

expr3:如果表达式为空,则返回expr3的值

如案例:

sql-----------------------------------------结果

select nvl2(null,2,1) from dual;---------------1

select nvl2(4,2,1) from dual;---------------2

select nvl2(sum(null),2,1) from dual;-------1

select nvl2(sum(4),2,1) from dual;-------2

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值