在项目开发中,我们经常发现前人的mysql设计不太合理,比如没有默认值,出现某些字段为null的情况 ,而mysql 中会导致查询与我们所期待的不同
一、如以下查询
二、通过转换null后的数据
# 其中, IFNULL(参数一, 参数二)中的第二个参数可以传你想转成的那个值,如0 , ''(空字符串)
SELECT id,IFNULL(address_send,'这是null') as address_send from ims_ewei_shop_order;
三、如果为空返回 0,否则返回 1
select if(isnull(col),0,1) as col
# IF(expr1,expr2,expr3)
# 如果expr1是TRUE(expr1<>0且expr1<>NULL),那么IF()返回expr2,否则它返回expr3。
# IF()返回一个数字或字符串值,取决于它被使用的上下文。
# expr1作为整数值被计算,它意味着如果你正在测试浮点或字符串值,你应该使用一个比较操作来做。