Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > mysql ifnull不起作用

mysql ifnull不起作用原因分析以及解决

作者:shuair

这篇文章主要介绍了mysql ifnull不起作用原因分析以及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

结论

有记录且该字段为null,则可以用ifnull转换,如果没有记录,则不能转换(因为本身就没有记录)

命令行运行的截图

可以看到:

查一条记录(id=8,实际上没有id=8的数据)

提示:

使用navicat等工具时,无记录和null显示基本是一样的,这就造成了混淆,可以看右下角(无记录、第1条记录)的区别

解决方案

返回结果为单行

ifnull不能转换的解决方案,一般ifnull不能转换就是因为本身是无记录,所以可以构造出有记录(该字段为null)的情况,从上面可以看出,一些函数(count、sum等)可以使无记录变成有记录

举例(适用返回结果为单行的情况)

比如,上面的例子,查询不到id返回0,像上面的第3条命令那样查询,还是没记录,解决方法,可以使用函数将字段包起来,构造出记录。

返回结果为单行单列

举例(适用返回结果为单行单列的情况)

如果能够保证返回结果为单行单列,可以在整体的返回结果外面包ifnull

最后

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文