使用COUNT函数处理NULL值
大部分集合函数在进行计算时都去除NULL值,但COUNT函数是一个例外。一般情况下当对一个包含NULL值的列使用COUNT函数时,这个列中的NULL值将会被去除掉。但是如果COUNT函数使用一个星号,它就会计算所有的行,而不管其中是否包含NULL值。
如果你想使用COUNT函数计算包含NULL值的列的所有行,那么需要使用ISNULL函数(或使用NVL函数)。ISNULL函数能将一个NULL值以一个合法的值代替。
事实上,在有NULL值的情况下使用集合函数时,ISNULL函数是非常有用的。但记住当你使用星号时,COUNT函数将计算所有行。
1.count(1)与count(*)得到的结果一致,包含null值。
2.count(字段)不计算null值
3.count(null)结果恒为0
大部分集合函数在进行计算时都去除NULL值,但COUNT函数是一个例外。一般情况下当对一个包含NULL值的列使用COUNT函数时,这个列中的NULL值将会被去除掉。但是如果COUNT函数使用一个星号,它就会计算所有的行,而不管其中是否包含NULL值。
如果你想使用COUNT函数计算包含NULL值的列的所有行,那么需要使用ISNULL函数(或使用NVL函数)。ISNULL函数能将一个NULL值以一个合法的值代替。
事实上,在有NULL值的情况下使用集合函数时,ISNULL函数是非常有用的。但记住当你使用星号时,COUNT函数将计算所有行。
=================================================================
以下转自另一文
=================================================================
以下转自另一文
=================================================================
1.count(1)与count(*)得到的结果一致,包含null值。
2.count(字段)不计算null值
3.count(null)结果恒为0