• 售前

  • 售后

热门帖子
入门百科

mysql中更换null的IFNULL()与COALESCE()函数详解

[复制链接]
忘不了情 显示全部楼层 发表于 2021-10-25 20:05:32 |阅读模式 打印 上一主题 下一主题
在MySQL中
  1. isnull()
复制代码
函数不能作为替代null值!

如下:

起首有个名字为business的表:

  1. SELECT ISNULL(business_name,'no business_name') AS bus_isnull FROM business WHERE id=2
复制代码
直接运行就会报错:
错误代码: 1582
  1. Incorrect parameter count in the call to native function 'isnull'
复制代码
所以,
  1. isnull()
复制代码
函数在mysql中就行不通了。可以用
  1. ifnull()
复制代码
  1. coalesce()
复制代码
代替。如下:

利用
  1. ifnull()
复制代码
函数:
  1. SELECT IFNULL(business_name,'no business_name') AS bus_ifnull FROM business WHERE id=2
复制代码
运行结果:



当查询的值不为null时:
  1. SELECT IFNULL(business_name,'no business_name') AS bus_ifnull FROM business WHERE id=1
复制代码
结果如下:



利用
  1. coalesce()
复制代码
函数:
  1. SELECT COALESCE(business_name,'no business_name') AS bus_coalesce FROM business WHERE id=2
复制代码
结果如下:



当查询值不为null时:
  1. SELECT COALESCE(business_name,'no business_name') AS bus_coalesce FROM business WHERE id=1
复制代码

此中:
  1. coalesce()
复制代码
还可以返回第一个不为null的值。如下:
  1. SELECT COALESCE(business_name,district_id,id) AS bus_coalesce FROM business WHERE id=2
复制代码

那么,
  1. isnull()
复制代码
在mysql中怎么用呢?答案就是用在where反面。如下:
  1. SELECT * FROM business WHERE ISNULL(business_name)
复制代码
结果如下:



同样,
  1. is null
复制代码
  1. is not null
复制代码
也是用在where反面。
  1. SELECT * FROM business WHERE business_name IS NULL
复制代码
结果如下:

  1. SELECT * FROM business WHERE business_name IS NOT NULL
复制代码

总结
以上就是这篇文章的全部内容了,希望本文的内容对各人的学习大概工作能带来肯定的帮助,如有疑问各人可以留言互换,谢谢各人对草根技术分享的支持。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作