Re: [SQL] CASE WHEN / 6.4.2? + no doc in installed documentation - Mailing list pgsql-sql

From Tom Lane
Subject Re: [SQL] CASE WHEN / 6.4.2? + no doc in installed documentation
Date
Msg-id 12809.927727661@sss.pgh.pa.us
Whole thread Raw
In response to CASE WHEN / 6.4.2? + no doc in installed documentation  ("Emils Klotins" <emils@mail.usis.bkc.lv>)
List pgsql-sql
"Emils Klotins" <emils@mail.usis.bkc.lv> writes:
> Could somebody please tell what is the correct form for either IFNULL
> or CASE SQL functions in PG?

Looking in the grammar I find:

/* Case clause* Define SQL92-style case clause.* Allow all four forms described in the standard:* - Full specification*
CASE WHEN a = b THEN c ... ELSE d END* - Implicit argument*  CASE a WHEN b THEN c ... ELSE d END* - Conditional NULL*
NULLIF(x,y)* same as CASE WHEN x = y THEN NULL ELSE x END* - Conditional substitution from list, use first non-null
argument* COALESCE(a,b,...)* same as CASE WHEN a IS NOT NULL THEN a WHEN b IS NOT NULL THEN b ... END* - thomas
1998-11-09*/

I think these things will actually be documented in 6.5 :-).

BTW, there are some severe bugs in CASE in 6.4.*; it doesn't work
reliably in queries that reference more than one table.  Fixed in 6.5,
as far as I know.
        regards, tom lane


pgsql-sql by date:

Previous
From: Remigiusz Sokolowski
Date:
Subject: Re: [SQL] about permissions
Next
From: JT Kirkpatrick
Date:
Subject: select nextval. . .