执行数据库语句的奇怪结果
Strange result of executing database statement
我有一个包含 9000 个项目的 table,出于测试原因,我将一个对象的名称重命名为 "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 数据库,该列的数据类型是短文本。
真搞不懂,为什么过滤掉了那么多数据记录。 NOT EQUAL 运算符似乎在 Access DB 中不起作用。 NOT LIKE 导致相同的结果。
是否有其他列为空值?
SELECT Count(*) FROM [xxx] WHERE xxx.name is null or xxx.name <> "LOL";
我有一个包含 9000 个项目的 table,出于测试原因,我将一个对象的名称重命名为 "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 数据库,该列的数据类型是短文本。
真搞不懂,为什么过滤掉了那么多数据记录。 NOT EQUAL 运算符似乎在 Access DB 中不起作用。 NOT LIKE 导致相同的结果。
是否有其他列为空值?
SELECT Count(*) FROM [xxx] WHERE xxx.name is null or xxx.name <> "LOL";