天天看点

Oracle COALESCE函数

<a href="http://blog.csdn.net/laoshangxyc/article/details/8648314" target="_blank">Oracle COALESCE函数</a>

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

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

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

EMPNO ENAME COMM NEW_COMM

---------- -------------------- ---------- ----------

7369 SMITH 200

7499 ALLEN 300 300

7521 WARD 500 500

7566 JONES 200

7654 MARTIN 1400 1400

7698 BLAKE 200

7782 CLARK 200

7788 SCOTT 200

7839 KING 200

7844 TURNER 0 0

7876 ADAMS 200

7900 JAMES 200

7902 FORD 200

7934 MILLER 200

8888 xiangyc 888.88 888.88

已选择15行。

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

SQL&gt; selectcoalesce(null,3+5,4+6) value from dual;

VALUE

----------

8

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

SQL&gt; selectCOALESCE (null,333,444,'555') from dual;

selectCOALESCE (null,333,444,'555') from dual

*

第 1 行出现错误:

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

<b></b>

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