From: | Peter Eisentraut <peter(at)eisentraut(dot)org> |
---|---|
To: | Navrátil, Ondřej <onavratil(at)monetplus(dot)cz>, pgsql-docs(at)lists(dot)postgresql(dot)org |
Subject: | Re: COALESCE documentation |
Date: | 2024-07-03 09:00:17 |
Message-ID: | 62f888dc-1ee5-48cf-b76c-6a75dcfa8b10@eisentraut.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-docs |
On 02.07.24 12:45, Navrátil, Ondřej wrote:
> Hello,
>
> as per documentation
> <https://www.postgresql.org/docs/current/functions-conditional.html#FUNCTIONS-COALESCE-NVL-IFNULL>
> > The |COALESCE| function returns the first of its arguments that is
> not null. Null is returned only if all arguments are null.
>
> This is not exactly true. In fact:
> The |COALESCE| function returns the first of its arguments that *is
> distinct* *from *null. Null is returned only if all arguments *are not
> distinct from* null.
>
> See my stack overflow question here
> <https://stackoverflow.com/questions/78691097/postgres-null-on-composite-types>.
>
> Long story short
>
> |select coalesce((null, null), (10, 20)) as magic; |
>
> returns
>
> |magic ------- (,) (1 row)|
>
> However, this is true:
>
> |select (null, null) is null;|
I think this is actually a bug in the implementation, not in the
documentation. That is, the implementation should behave like the
documentation suggests.
From | Date | Subject | |
---|---|---|---|
Next Message | Laurenz Albe | 2024-07-03 09:11:51 | Re: COALESCE documentation |
Previous Message | Laurenz Albe | 2024-07-03 08:49:16 | Re: COALESCE documentation |