MySQL中的IS NULL是一種特殊的運算符,它用于檢查一個列是否為NULL。該運算符返回TRUE如果列為NULL,否則返回FALSE。它可以與WHERE子句一起使用,以過濾掉列值為NULL的行。
SELECT * FROM users WHERE name IS NULL;
在上面的例子中,我們使用IS NULL來查找users表中name列值為NULL的行。
除了IS NULL之外,MySQL還提供了IS NOT NULL運算符,用于檢查一個列是否不為NULL。如果列不為NULL,則返回TRUE,否則返回FALSE。
SELECT * FROM users WHERE name IS NOT NULL;
上面的例子中,我們使用IS NOT NULL來查找users表中name列值不為NULL的行。
需要注意的是,在使用IS NULL和IS NOT NULL時,不需要引號。如果引號將會導致錯誤的查詢結果。
-- 錯誤的查詢 SELECT * FROM users WHERE name = 'NULL'; -- 正確的查詢 SELECT * FROM users WHERE name IS NULL;
上面的例子中,我們用引號查詢name列是否等于'NULL'時得到的結果是不準確的。正確的方式是使用IS NULL。
總之,使用IS NULL和IS NOT NULL可以幫助我們更準確地過濾掉NULL值。在進行查詢時,需要避免使用引號,確保查詢結果的準確性。