Re: differnt behaviour of NULL in an aggregate and with an operator - Mailing list pgsql-general

From Craig Ringer
Subject Re: differnt behaviour of NULL in an aggregate and with an operator
Date
Msg-id 48A14D22.1080904@postnewspapers.com.au
Whole thread Raw
In response to differnt behaviour of NULL in an aggregate and with an operator  ("Willy-Bas Loos" <willybas@gmail.com>)
List pgsql-general
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

pgsql-general by date:

Previous
From: "Willy-Bas Loos"
Date:
Subject: differnt behaviour of NULL in an aggregate and with an operator
Next
From: Cyril SCETBON
Date:
Subject: Re: Checkpoints writes