Oracle COALESCE函数


Oracle COALESCE函数

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

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

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

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> select coalesce(null,3+5,4+6) value from dual;

     VALUE
----------
         8

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

SQL> select COALESCE (null,333,444,'555') from dual;
select COALESCE (null,333,444,'555') from dual
                              *
第 1 行出现错误:
ORA-00932: 数据类型不一致: 应为 NUMBER, 但却获得 CHAR




  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
OracleCOALESCE函数用于返回参数列表第一个非NULL的表达式的值。如果所有的表达式都是NULL,则返回NULL值。COALESCE函数的用法为COALESCE(expression_1, expression_2, ..., expression_n)。例如,SELECT COALESCE(NULL, NULL, 3, 4, 5) FROM dual将返回值3,因为3是参数列表第一个非NULL的值。在COALESCE函数,所有的表达式必须是相同类型,或者可以隐式转换为相同的类型。使用COALESCE函数可以方便地处理包含空值的表达式,避免计算错误。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [COALESCE()函数](https://blog.csdn.net/weixin_40417658/article/details/82633227)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Oracle常用函数——COALESCE](https://blog.csdn.net/weixin_30797027/article/details/99046254)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Oracle函数——COALESCE](https://blog.csdn.net/huangbaokang/article/details/105692024)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值