coalesce、nvl、nvl2比较

coalesce(操作数1,操作数2[,...,操作数N]) 
1、返回coalesce操作数列表中第一个非null,如果多为null,则返回null
2、在coalesce表达式中必须至少有一个操作数不为null
3、nvl、nvl2先执行所有操作数再判断,coalesce先判断,只有在有必要时才执行操作数


SQL> declare
  2    a varchar2(20):='a';
  3    b varchar2(20):='b';
  4    c varchar2(20):='c';
  5    d varchar2(20);
  6    function getN return varchar2
  7      is
  8      begin
  9        dbms_output.put_line('Func:GetN');
 10        Return 'GetN';
 11      end;
 12  begin
 13    d:=coalesce(null,null);
 14    dbms_output.put_line(d);
 15  end;
 16  /
declare
  a varchar2(20):='a';
  b varchar2(20):='b';
  c varchar2(20):='c';
  d varchar2(20);
  function getN return varchar2
    is
    begi
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值