当前位置:数据库 > Oracle >>

Oracle COALESCE函数

Oracle COALESCE函数
 
Oracle COALESCE函数语法为COALESCE(表达式1,表达式2,...,表达式n),n>=2,此表达式的功能为返回第一个不为空的表达式,如果都为空则返回空值。
注意:所有表达式必须为同一类型或者能转换成同一类型。  www.zzzyk.com  
示例一:在emp表中给comm列为空的人员设为200
[sql]   www.zzzyk.com  
SQL> 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  
  
     EMPNO ENAME                      COMM   NEW_COMM  
---------- -------------------- ---------- ----------  
      7900 JAMES                                  200  
      7902 FORD                                   200  
      7934 MILLER                                 200  
      8888 xiangyc                  888.88     888.88  
  
已选择15行。  
 
示例2:模拟返回第一个不为空的值
[sql] 
SQL> select coalesce(null,3+5,4+6) value from dual;  
  
     VALUE  
----------  
         8  
 
示例3:模拟数据类型不一致的情况
[sql] 
SQL> select COALESCE (null,333,444,'555') from dual;  
select COALESCE (null,333,444,'555') from dual  
                              *  
第 1 行出现错误:  
ORA-00932: 数据类型不一致: 应为 NUMBER, 但却获得 CHAR  
 
Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,