好比咱們有三條數據,對應的列名是delete_flag,對應的數據是‘normal’,‘delete’,null。
此時咱們查全部不等於delete的記錄,咱們指望的是兩條記錄 normal和null。咱們書寫以下sql。mysql
select * from a where delete_flag != 'delete'
發現查詢出來的結果只是一條,這是由於mysql的空值過濾機制。sql
一、進行一下非null判斷code
select * from a where IFNULL(delete_flag,'') != 'delete'
二、將null空值也加入條件orm
select * from a where delete_flag != 'delete' or delete_flag is null