Oracle COALESCE函数

Oracle COALESCE函数

Oracle COALESCE函数语法为COALESCE(表达式1,表达式2,...,表达式n)n>=2,此表达式的功能为返回第一个不为空的表达式,如果都为空则返回空值。

注意:所有表达式必须为同一类型或者能转换成同一类型。

示例一:在emp表中给comm列为空的人员设为0


  1. SQL> select a.empno,a.ename,comm,coalesce(comm,200)new_comm from emp a;

  2. EMPNO ENAME COMM NEW_COMM

  3. ---------- -------------------- ---------- ----------

  4. 7369 SMITH 200

  5. 7499 ALLEN 300 300

  6. 7521 WARD 500 500

  7. 7566 JONES 200

  8. 7654 MARTIN 1400 1400

  9. 7698 BLAKE 200

  10. 7782 CLARK 200

  11. 7788 SCOTT 200

  12. 7839 KING 200

  13. 7844 TURNER 0 0

  14. 7876 ADAMS 200

  15. EMPNO ENAME COMM NEW_COMM

  16. ---------- -------------------- ---------- ----------

  17. 7900 JAMES 200

  18. 7902 FORD 200

  19. 7934 MILLER 200

  20. 8888 xiangyc 888.88 888.88

  21. 已选择15行。


示例2:模拟返回第一个不为空的值



  1. SQL> selectcoalesce(null,3+5,4+6) value from dual;

  2. VALUE

  3. ----------

  4. 8


示例3:模拟数据类型不一致的情况



  1. SQL> selectCOALESCE (null,333,444,'555'from dual;

  2. selectCOALESCE (null,333,444,'555'from dual

  3. *

  4. 第 1 行出现错误:

  5. ORA-00932: 数据类型不一致: 应为 NUMBER, 但却获得 CHAR




     本文转自韩立伟 51CTO博客,原文链接:http://blog.51cto.com/hanchaohan/1303403,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值