mysql null问题续
上回说到group_concat和concat的时候,如果有列值为null,则concat后为null。
现在发现另一个问题,如果有列A为null,而另一列B为空'',那么A<>B与A=B的记录条数之和不等于总数。
也就是说,如果列A为null,列B为空'',那么mysql是不会比较它们的,即这种情况既不属于相等,也不属于不相等。
解决办法就是用ifnull(sqlserver是isnull)函数:ifnull(A,'')。把null转换成空之后再和B比较。
另外,select count(idc_position.id) from ** 这个语句run时,如果表中有些行的id这个字段为Null,那么,select count(id) 返回记录行数时,将不会把id为null的行算在内,自动干掉了这些行。
又一个陷阱……