Re: CASE/WHEN behavior with NULLS - Mailing list pgsql-general

From Tom Lane
Subject Re: CASE/WHEN behavior with NULLS
Date
Msg-id 28068.1346464339@sss.pgh.pa.us
Whole thread Raw
In response to Re: CASE/WHEN behavior with NULLS  (David Johnston <polobo@yahoo.com>)
Responses Re: CASE/WHEN behavior with NULLS
List pgsql-general
David Johnston <polobo@yahoo.com> writes:
> On Aug 31, 2012, at 19:14, Thalis Kalfigkopoulos <tkalfigo@gmail.com> wrote:
>> This didn't work as expected (the NULL's persisted):
>> ...CASE sum(foo) WHEN NULL THEN 0 ELSE sum(foo) END...

> Guessing this form effectively evaluates to
> WHEN sum(foo) = NULL instead of IS NULL and thus the wrong answer:

Yeah, I think that's right.

> That said you might want to try
> SUM(COALESCE(foo, 0))

Actually I'd go with "COALESCE(SUM(foo), 0)" since that requires only
one COALESCE operation, not one per row.

            regards, tom lane


pgsql-general by date:

Previous
From: David Johnston
Date:
Subject: Re: CASE/WHEN behavior with NULLS
Next
From: David Johnston
Date:
Subject: Re: CASE/WHEN behavior with NULLS