COUNT(*)何时返回NULL?

时间:2011-04-07 16:20:13

标签: sql sql-server

您好 我有一位总是写ISNULL(COUNT(*),0)的同事,但我一直认为COUNT(*)永远不会返回NULL

然后我搜索了互联网,我的发现让我写了这段代码:

create table t1 (
    val1 varchar(50),
)

select count(*) from t1
where val1 like 'abc'
group by val1

当COUNT(*)返回NULL时是否还有其他情况?

3 个答案:

答案 0 :(得分:11)

它不会返回NULL。示例中的GROUP BY使其根本不返回任何行,这与列中的NULL不同。

答案 1 :(得分:2)

该示例不返回NULL。由于空集上的GROUP BY,它根本不返回任何行。

COUNT(*)不能返回NULL。所以ISNULL是不必要的。

答案 2 :(得分:0)

ISNULL不需要它会返回一个数字