今天在修改一个BUG时,数据中含有''和NULL,使用!=''查询,居然能找到正确的数据。
select * from test where key1 != '';然而查询空时必须条件都写上
select * from test where key1 = '' OR key2 is NULL;然后再网上找了下说:使用mysql的!=的时候,要注意一点的是!=只会筛选该字段非空的数据,如果查询的表中有字段为null,这些数据都不会被查询出来,即时他!=某个数据
即:
select * from test where key1 != '' 等价于 select * from test where key1 !='' AND key1 is NOT NULL推荐使用第二种查询方式。
















