Re: [SQL] CASE WHEN / 6.4.2? + no doc in installed documentation

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: emils(at)mail(dot)usis(dot)bkc(dot)lv
Cc: pgsql-sql(at)postgreSQL(dot)org
Subject: Re: [SQL] CASE WHEN / 6.4.2? + no doc in installed documentation
Date: 1999-05-26 14:07:41
Message-ID: 12809.927727661@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

"Emils Klotins" <emils(at)mail(dot)usis(dot)bkc(dot)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

Browse pgsql-sql by date

  From Date Subject
Next Message Emils Klotins 1999-05-26 15:50:09 CASE WHEN / 6.4.2? + no doc in installed documentation
Previous Message Remigiusz Sokolowski 1999-05-26 14:04:46 Re: [SQL] about permissions