COALESCE
含义:COALESCE是一个函数, (expression_1, expression_2, …,expression_n)依次参考各参数表达式,遇到非null值即停止并返回该值。如果所有的表达式都是空值,最终将返回一个空值。使用COALESCE在于大部分包含空值的表达式最终将返回空值。
用法:COALESCE(expression_1, expression_2, ...,expression_n)
例子
SELECT COALESCE(NULL,NULL,3,4,5) FROM dual
其返回结果为:3
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
注意
空值加任何值都是空值,空值 乘任何值也都是空值,依此类推。
所有表达式必须是相同类型,或者可以隐性转换为相同的类型。