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