【发布时间】:2014-09-24 14:00:03
【问题描述】:
我有一张名为“DEMO”的表格。在“性别”列下,我想知道我有多少个空白单元格?
我试过了:
SELECT Count(SEX) AS CountIfSexNull FROM DEMO WHERE (((DEMO.SEX) Is Null));
但是,得到的结果为 0。
当我使用“查询设计”选择“性别”列并手动过滤空白时,我得到的值为 2。
该查询在数字字段(即 AGE)上运行良好,我得到了一个正确的答案,除了我使用“0”而不是“Is Null”,即
SELECT COUNT(DEMO_AGE) AS CountIfAgeNull FROM DEMO WHERE (DEMO.DEMO_AGE = 0);
我正在使用带有 .accdb 数据库的 MS Access 2010。
【问题讨论】:
-
"" 或 " " 不是 NULL - 也许您的列中有默认值。否则:更多信息 - 字段类型...
-
Fionnuala 的回答是正确的。问题在于您尝试计算其中没有数据的列,这就是它显示 0 的原因。通过使用 COUNT(*),它会查看行而不是给您正确的答案。
标签: sql ms-access ms-access-2010