SQL多个独家喜欢

时间:2010-12-09 10:47:56

标签: sql ms-access

我正在尝试根据列的第一个字母排除选定的行。 I.e列'col'的所有行都不以Y,A或B开头。

 SELECT * 
 FROM tbl 
 WHERE col NOT LIKE 'Y%' 
   AND col NOT LIKE 'A%' 
   AND col NOT LIKE 'B%'

我尝试了一些变体,例如使用OR代替AND或类似的东西:

SELECT * 
FROM tbl 
WHERE col NOT IN ('Y%', 'A%', 'B%')

他们都没有给我预期的结果,

感谢

2 个答案:

答案 0 :(得分:1)

很抱歉,但我发现我使用的MS-Access SQL与MySQL不同。 %通配符不适用于MS Access

这只是一个错误的问题。所以这个SQL的更正版本是:

SELECT * 
FROM tbl 
WHERE col NOT LIKE 'Y*' 
AND col NOT LIKE 'A*' 
AND col NOT LIKE 'B*'

致以最诚挚的问候,

答案 1 :(得分:0)

你的第一个例子应该有用 - 你能发一个例子来说明结果有什么问题吗?第二个例子显然不起作用。

大多数数据库也支持通过正则表达式进行过滤,您可能需要查看它。