在学习sql时,发现一个很有意思的函数:coalesce。
说它很有意思,是因为它使用起来很简洁,跟三则运算表达式有些类似,不过它又好像跟三则表达式有些不同,它跟java 的泛型也有些类似,参数个数可以动态传递,类似这样的用法在mysql函数中是很少见的。
这个函数在做统计时,遇到一些条件判断时,它可以兼顾到一些特殊情况。
下面我们来看看这个函数的用法。
语法
coalesce(expression_1, expression_2, ...,expression_n)依次参考各参数表达式,遇到非null值即停止并返回该值。如果所有的表达式都是空值,最终将返回一个空值。使用coalesce在于大部分包含空值的表达式最终将返回空值。
用法
select coalesce(exp1,exp2,...) as a from table_name
实例
select coalesce(real_name, “xiaoai”) from table_name
当real_name 为null值的时候,将返回xiaoai,否则将返回real_name的具体值。
select coalesce(real_name ,nick_name,“xiaoai”) from table_name
当real_name不为null,那么无论nick_name是否为null,都将返回real_name的具体值;当real_name为null,而nick_name,不为null的时候,返回nick_name具体值。只有当real_name和nick_name都为null的时候,才返回xiaoai。
以上是mysql中函数coalesce基础用法。
由于笔者知识及水平有限,文中错漏之处在所难免,欢迎交流。
-END-
往期推荐
微信公众号:爱开发