Re: CASE/WHEN behavior with NULLS
От | David Johnston |
---|---|
Тема | Re: CASE/WHEN behavior with NULLS |
Дата | |
Msg-id | 768C052C-CBD4-4957-8711-3C5FE2D1C912@yahoo.com обсуждение исходный текст |
Ответ на | Re: CASE/WHEN behavior with NULLS (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: CASE/WHEN behavior with NULLS
|
Список | pgsql-general |
On Aug 31, 2012, at 22:49, Tom Lane <tgl@sss.pgh.pa.us> wrote: > David Johnston <polobo@yahoo.com> writes: >> On Aug 31, 2012, at 21:52, Tom Lane <tgl@sss.pgh.pa.us> wrote: >>> David Johnston <polobo@yahoo.com> writes: >>>> 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. > >> These are not equivalent if some values of foo are not-null and you want the sum of all non-null values while replacingany nulls with zero. So the decision depends on what and why you are summing. > > But SUM() ignores input nulls, so I think they really are equivalent. > I agree that in a lot of other cases (for instance MAX), you'd have to > think harder about which behavior you wanted. > This I did not know/recall, was assuming nulls poisoned the result. David J.
В списке pgsql-general по дате отправления: