2011-02-17 108 views
1

我很困惑,我試圖運行一些SQL。下面是一個示例數據集ms access 2007 SQL「不喜歡」忽略空白單元格

Username ID  Text1 
red55 1235342  fdfdf 
black 5542121  sdsd 
red32 5542145  sffrds 
green 5542911   
bluee 5333121  ffds 

所以SQL將

SELECT username, ID, Text1 
    FROM user_info 
WHERE username NOT LIKE 'red*' 
     AND text1 NOT LIKE 'sd*'; 

所以,我希望看到的結果集的

Username ID  Text1 
green 5542911   
bluee 5333121  ffds 

但它不工作。它似乎忽略了空白值。我只會看到一條記錄(不像上面兩條)。我需要我的SQL來簡單地向我展示不啓動「紅色」的記錄以及不以「sd」開頭的任何記錄。然而,它要麼全部擺脫它們,並且空白,要麼我們使用OR語句,擺脫一切。

任何想法?我被困在這裏!

回答

5

您需要明確處理空值。一種選擇是:

SELECT username, ID, Text1 
FROM user_info 
WHERE (username Is Null OR username NOT LIKE 'red*') 
    AND (text1 Is Null OR text1 NOT LIKE 'sd*') 
+0

完美 - 很簡單,謝謝! – 2011-02-17 16:04:16