Oracle函数——COALESCE

COALESCE

  • 含义:COALESCE是一个函数, (expression_1, expression_2, ...,expression_n)依次参考各参数表达式,遇到非null值即停止并返回该值。如果所有的表达式都是空值,最终将返回一个空值。使用COALESCE在于大部分包含空值的表达式最终将返回空值。
  • 用法:COALESCE(expression_1, expression_2, ...,expression_n)
  • 例子
    1.SELECT COALESCE(NULL,NULL,3,4,5) FROM dual  
    其返回结果为:
    3

    2.SELECT A.ID,SUM(COALESCE(A.SHUL,0)+COALESCE(A.PZSHUL,0)) from t_order as A group by A.ID
    这样就不会因为数据库中的值为NULL而计算错误
  • 返回值:返回第一个非NULL表达式的类型
  • 扩展
    COALESCE(expression1,...n) 与此 CASE 函数等价:
    CASE
    WHEN (expression1 IS NOT NULL) THEN expression1
    ...
    WHEN (expressionN IS NOT NULL) THEN expressionN
    ELSE NULL
  • 注意
    • 空值加任何值都是空值,空值 乘任何值也都是空值,依此类推。
    • 所有表达式必须是相同类型,或者可以隐性转换为相同的类型。
  • Next
posted @ 2018-12-18 11:10  话·醉月  阅读(25402)  评论(0编辑  收藏  举报