Create Table Test ( a char(4), b char(4), c char(4), d char(4) ) go Insert into Test Values ('1','a','d','d'), ('1','a','d','d'), ('1','a','d','d'), ('1','a','d','d'), ('1','a','d','d'), (null,'a','d','d') Select * From TestSelect COUNT(*) From Test where a is null Select COUNT(a) From Test where a is null
(
a char(4),
b char(4),
c char(4),
d char(4)
)
go
Insert into Test Values
('1','a','d','d'),
('1','a','d','d'),
('1','a','d','d'),
('1','a','d','d'),
('1','a','d','d'),
(null,'a','d','d')
Select * From TestSelect COUNT(*) From Test where a is null
Select COUNT(a) From Test where a is null
Select COUNT(a) From Test
2.count(字段)不计算null值
3.count(null)结果恒为0
因为不能1条记录数据所有列都是NULL,都是null 就没这条记录了
count(主键)与count(1)与count(*)得到的结果一致
因为主键有非空约束
count(1),或者count(非空常数)就是告诉数据库,我这行不是空,你给我算去吧3.count(null)结果恒为0
count(*)只要一条记录中有字段非空,统计数值加1