https://blog.csdn.net/yilulvxing/article/details/86595725
最近写SQL的过程中,学习到一个非常有用的函数:coalesce。特别是在做统计的时候,这个函数作为条件可以兼顾到一些特殊情况。这里做一下总结和分享。
(1):将控制替换成其他值;
(2):返回第一个非空值
COALESCE是一个函数, (expression\_1, expression\_2, ...,expression\_n)依次参考各参数表达式,遇到非null值即停止并返回该值。如果所有的表达式都是空值,最终将返回一个空值。使用COALESCE在于大部分包含空值的表达式最终将返回空值。
select coalesce(success_cnt, 1) from tableA
当success\_cnt 为null值的时候,将返回1,否则将返回success\_cnt的真实值。
select coalesce(success_cnt,period,1) from tableA
当success\_cnt不为null,那么无论period是否为null,都将返回success\_cnt的真实值(因为success\_cnt是第一个参数),当success\_cnt为null,而period不为null的时候,返回period的真实值。只有当success\_cnt和period均为null的时候,将返回1。