Willy-Bas Loos wrote:
> Hi,
>
> Why is it that
> SELECT 1+null
> evaluates to NULL, but
> SELECT sum(foo) FROM (VALUES(1), (NULL)) AS v(foo)
> evaluates to 1 ?
SUM(x) ignores null input, like COUNT(x) etc. It's the sum of all
non-null instances of x.
There's some useful explanation of the various NULL handling of
aggregates here:
http://www.postgresql.org/docs/8.3/static/sql-createaggregate.html
though I'm not sure how well it applies to the built-in aggregates.
--
Craig Ringer