mysql中一个很有意思的函数:coalesce

在学习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-

往期推荐

面试官:mysql自增长id用完了,怎么办?

生成服务器服务变慢了,如何排查思路?

大数据心得:impala中的刷新元数据和刷新表

779412edb6f36a127bdfff25350c5826.png

微信公众号:爱开发

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值