Tuesday, August 12, 2008

Re: [GENERAL] differnt behaviour of NULL in an aggregate and with an operator

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

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

No comments: