Mysql ifnull()

语法:

ifnull(expression_1,expression_2);

如果expression_1为null,则ifnull()函数返回expression_2; 如果expression_1不为null (), 则返回expression_1的结果。

如果 A 表中 column 列 中的值 有  NULL , 空字符串("") 和 有值字符串, 如果只想查出 有值字符串的数据, 可以使用  

 select * from A where ifnull(column,'') !=''

代码理解:

如果column 为 Null, 那么返回 空字符串 ""

如果column 不为Null (  空字符串 和 有值字符串) , 那么返回 column 本身.  也就是空字符串和有值字符串. 

那么: 最终返回的结果中  只有两种数据:   空字符串  和 有值字符串.  其中空字符串 由 两种数据组成 : 一种是本身为空字符串的, 一种是Null转换为空字符串的. 

所以对返回的结果使用  where ifnull(column,'') !=''  , 则过滤后, 只剩下cloumn为有值字符串的数据了.

posted @ 2019-08-14 23:52  Avicii_2018  阅读(2205)  评论(0编辑  收藏  举报