Kenneth Fisher digs into the COUNT()
function and sees how it deals with NULL values:
Count the number of values
123SELECT
COUNT
(FieldName)
FROM
TableName;
-- or
SELECT
COUNT
(
ALL
FieldName)
FROM
TableName;
The ALL argument is the default and is unnecessary (I didn’t even know it existed until I started this post). Here you are counting the number of non NULL values in FieldName. So in a column with (1, NULL, 1, 2, 3, NULL, 1) you’ll get a count of 5. You do get a nice warning (depending on your ANSI_WARNINGS setting) if there was a NULL value though.
By the way, the ALL operator isn’t useful there, but can be useful along with its counterparts SOME and ANY. I rarely keep them in my mind, so I instead tend to write EXISTS and NOT EXISTS statements which have operate on an equivalent function.