我有一張表,其中一些行有一些空白cells
。我試圖用IS NULL函數選擇這樣的行。但查詢選擇0行。空字符串對NULL
select * from zzz_fkp_registration_female where fname is null;
(0 row(s) affected)
現在我改變了我的查詢:
select * from zzz_fkp_registration_female where fname is null or fname ='';
我得到了想要的結果。
爲什麼IS NULL不提供結果?由於單元格爲空,因此IS NULL
和''
之間有何區別。請解釋。
在SQL NULL被定義爲NULL和「」指的是一些空值 –
「」空字符串:我們可以說沒有任何價值。但是NULL意味着我們不能說沒有價值。這意味着可能有價值,但它的未知。這就是NULL與空字符串不同的原因。 –
不允許零長度的字符串作爲名稱(有一個約束或觸發器)。在這種情況下使用NULL。 – jarlh