-2

在 sql server 中,count(column) 也会计算空列吗?我在考试中遇到了这个问题,我很困惑,但最后我给出的答案是 yes count(column) 也会计算空列。我只是想知道我是对还是错。有人对此有任何想法吗?

4

2 回答 2

7

是什么阻止了您自己检查它?

CREATE TABLE Test (VALUE VARCHAR(10));

INSERT INTO TEST VALUES ('sdfsdf'), ('sdfgsdfg'),( NULL),( NULL);

SELECT COUNT(VALUE) FROM Test

结果:

COUNT(VALUE)
2

所以答案是否定的。COUNT(ColumnName)不计算具有NULL值的行。

SQLFiddle

于 2013-09-08T08:54:06.683 回答
2

以下是关于 COUNT 的 BOL(在线图书)文章的内容:

COUNT(*) 返回组中的项目数。这包括 NULL 值和重复项。

COUNT(ALL expression) 计算组中每一行的表达式并返回非空值的数量。

COUNT(DISTINCT expression) 计算组中每一行的表达式并返回唯一的非空值的数量。

于 2013-09-08T08:56:21.763 回答