站內搜尋

Wednesday, June 19, 2013

[MYSQL] NULL不能拿來用 = 判斷

假設會員資料庫裏面有一個欄位是出生月份(month),如果我們要找出"非1月份出生"的會員,很容易就直接寫出 SELECT uid FROM user WHERE month != '1' 這樣的寫法,而這種寫法是"錯誤的"。
因為假設有些會員沒有填出生月份,所以他的month欄位是NULL,而NULL是不會被 month != '1' 這樣的條件篩選出來的,要刪選NULL值只能用 IS NULL 或 IS NOT NULL 才會有效,所以,正確語法應該是 SELECT uid FROM user WHERE month != '1' OR month IS NULL。

No comments:

Post a Comment