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
以上就是小編今天的分享,希望可以幫助到大家。