如何在SQL MSAccess中使用“like”和“not like”来查询相同字段?

5

我希望筛选出所有符合以下条件的行:

field like "*AA*" and field not like "*BB*"

但是现在返回的是全部内容,而不是只显示包含AA且不包含BB的行。

好了,现在它按照预期工作了,只是重新启动了ms access…

对不起我的打字错误… :s 已更新

6个回答

12

试试这个:

field like "*AA*" and field not like "*BB*"

抱歉,我在问题中打错了字,现在已经更新。 - Totty.js

1
我发现 MS Access 会拒绝 --Not Like "BB*"--,如果没有用括号包围起来的话,而 --Like "BB*"-- 在没有括号的情况下也是可以的。我在 MS Access 2010 上进行了测试,以下都是有效的:
  1. Like "BB"

  2. (Like "BB")

  3. (Not Like "BB")


0

简单地重申目标字段和条件;

where (field like "*AA*" and field not like "*BB*")

抱歉,我在问题中打错了一个字,现在已经更新了。 - Totty.js
你有其他条件吗?如果有,括号是否正确?请将整个查询语句贴出来。 - Alex K.

0
如果您正在使用VBA(而不是查询),则以下语句将无法正常工作: where field like "AA" and field not like "BB" then
您需要使用以下语句: where field like "AA" and field like "BB" = false then

0

这个有什么问题:

field like "*AA*" and field not like "*BB*"

应该正常工作。

你能发布一些你的数据示例吗?


0

不确定这是否仍然存在,但我猜您需要类似的东西

((field Like "AA*") AND (field Not Like "BB*"))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接