Re: COALESCE could use some better examples

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: matthias01123(at)gmail(dot)com, pgsql-docs(at)lists(dot)postgresql(dot)org
Subject: Re: COALESCE could use some better examples
Date: 2022-10-13 19:34:50
Message-ID: Y0hoWkhgtl9fWsBn@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-docs

On Thu, Oct 13, 2022 at 02:28:23PM +0000, PG Doc comments form wrote:
> The following documentation comment has been logged on the website:
>
> Page: https://www.postgresql.org/docs/15/functions-conditional.html
> Description:
>
> Regarding:
> https://www.postgresql.org/docs/current/functions-conditional.html
>
> I ran into a situation where COALESCE was used like this
>
> ```
> SELECT * FROM table WHERE COALESCE(col_1, col_2, col_3) >= 5
> ```
>
> and didn't understand how it worked, and the examples don't really help
> because they only use COALESCE like
>
> ```
> SELECT COALESCE(..)
> ```
>
> I asked and answered a question on stackoverflow with a pretty good example
> of this, you could consider adding to your page.
>
> Thank you :))
>
> Stackoverflow question link:
> https://stackoverflow.com/questions/74057319/coalesce-in-postgresql-conditional-displaying-seemingly-undocumented-behavior

I read the Stackoverflow thread and it seems you thought a column name
in the function in a WHERE clause should span all the rows looking for
the first non-NULL row, and only if they are all NULL, go to th next
parameter. All WHERE functions are row-based so I don't see how to
actually improve our doc text without making it more confusing. Sorry.

--
Bruce Momjian <bruce(at)momjian(dot)us> https://momjian.us
EDB https://enterprisedb.com

Indecision is a decision. Inaction is an action. Mark Batterson

In response to

Browse pgsql-docs by date

  From Date Subject
Next Message PG Doc comments form 2022-10-14 14:44:33 Generated column using function
Previous Message PG Doc comments form 2022-10-13 14:28:23 COALESCE could use some better examples