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