Re: How to get CASE statement to recognize null ?

From: David Gauthier <davegauthierpg(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Postgres General <pgsql-general(at)postgresql(dot)org>
Subject: Re: How to get CASE statement to recognize null ?
Date: 2021-03-10 20:00:43
Message-ID: CAMBRECCzpy0xek+=GdHu3H4N3jB4rT7D5gQZuDDssqYgeFsgrw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hey, Thanks Tom !

It's actually a little more complicated than the simple example, so I'm not
sure it can be shoehorned into coalesce...

CASE
WHEN sr.nightly_cl_display_suffix is null THEN cast (d.p4_changelist
as varchar)
ELSE
cast (d.p4_changelist as varchar)||'-'||sr.nightly_cl_display_suffix
END as changelist

On Wed, Mar 10, 2021 at 2:46 PM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:

> David Gauthier <davegauthierpg(at)gmail(dot)com> writes:
> > dvdb=# select
> > CASE col1
> > WHEN null THEN 'z'
> > ELSE col1
> > END as col1,
> > col2
> > from foo;
>
> This test is equivalent to "col1 = null" which will always fail.
> You could try something like
>
> CASE WHEN col1 IS NULL THEN ... ELSE ... END
>
> Although I think the particular thing you're doing here would
> be better solved with COALESCE(col1, 'z').
>
> regards, tom lane
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Adam Brusselback 2021-03-10 20:16:11 Re: pgAgent for multiple databases in same instance
Previous Message Tom Lane 2021-03-10 19:46:53 Re: How to get CASE statement to recognize null ?