Mat*_*cer 1 sql ms-access ms-access-2007 ms-access-2003
我对我试图运行的一些SQL感到困惑.这是一个示例数据集
Username ID Text1
red55 1235342 fdfdf
black 5542121 sdsd
red32 5542145 sffrds
green 5542911
bluee 5333121 ffds
Run Code Online (Sandbox Code Playgroud)
所以SQL就是
SELECT username, ID, Text1
FROM user_info
WHERE username NOT LIKE 'red*'
AND text1 NOT LIKE 'sd*';
Run Code Online (Sandbox Code Playgroud)
所以我希望看到一个结果集
Username ID Text1
green 5542911
bluee 5333121 ffds
Run Code Online (Sandbox Code Playgroud)
但它不起作用.它似乎忽略了空白值.我只会看到一条记录(不像上面的两条记录).我需要我的SQL简单地说给我看一些不开始"红色"的记录以及任何不以"sd"开头的记录.然而它要么全部摆脱它们而且空白,或者如果我使用OR语句,那就完全没有了.
有任何想法吗?我被困在这里!
您需要显式处理空值.一种选择是:
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*')
Run Code Online (Sandbox Code Playgroud)