查詢學生表的數據,發現有三行數據 gender列是空值的。如圖
我們可以用什么方法查詢顯示出gender列是空值的數據呢?
select * from student where gender = ''這樣?
如圖,這樣是查詢不到的。空值(NULL)不等同于空字符串值
那如果用 = null是否可以得到正確的結果?
select * from student where gender=null
結果如圖,也查詢不到正確的數據。
要查null值的數據,可以用mysql內置的is_null函數,
select * from student where isnull(gender)
傳入的參數就是列名, 如圖,可以正確查詢到結果,
除了用上面的 is_null方法,我們還可以用比較操作符 is null來查詢,
select * from student where gender is null
如圖,可以正確查詢到結果,和上面的函數一樣,只不過是語法上的差別。
那如果是查詢所有不是null值的數據呢?
我們可以用 is not null來查詢
select * from student where gender is not null
用函數的方法就是
select * from student where !ISNULL(gender)
或
select * from student where not ISNULL(gender)
當有查詢到有null值數據時,我們希望將null值替換成其他字符串時,可以用 ifnull()函數, 比如把null的值,換成‘未知’,
select id, name, IFNULL(gender,'未知') as gender from student
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!