执行数据库语句的奇怪结果



>我有一个包含 9000 个项目的表,出于测试原因,我将一个对象的名称重命名为"LOL"。现在我想向我展示所有与该字符串不匹配的数据记录。所以,结果必须是 8999,但我只得到 620,这真的很奇怪。

查询:

SELECT Count(*) FROM [xxx] WHERE xxx.name = "LOL";
>>Result 1
SELECT Count(*) FROM [xxx] WHERE xxx.name <> "LOL";
>>Result 620 

它是一个 MS Access DB,该列的数据类型为短文本。

我真的不明白,为什么有这么多数据记录被过滤掉。似乎不等于运算符在访问数据库中不起作用。不像会导致相同的结果。

您是否有其他具有空值的列?

SELECT Count(*) FROM [xxx] WHERE xxx.name is null or xxx.name <> "LOL";

最新更新