Re: [SQL] null values to be replaced by a default value

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Nuchanard Chiannilkulchai <nuch(at)valigene(dot)com>
Cc: pgsql-sql(at)postgreSQL(dot)org
Subject: Re: [SQL] null values to be replaced by a default value
Date: 1999-04-20 17:20:40
Message-ID: 14253.924628840@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Nuchanard Chiannilkulchai <nuch(at)valigene(dot)com> writes:
> To return one value not null, i've created a function :

You can't really do that with functions right now --- any null
input to a function causes the result to be null. (There's
been discussion on the hackers list about improving this,
but it won't happen before 6.6 at the earliest.)

Fortunately, the standard COALESCE operator does what you want
already: COALESCE(a,b) produces the result you were looking for,
and you won't need to make a new copy for every data type either.

Basically, COALESCE takes any number of arguments and returns the
first one that's not NULL. It's a shorthand for a CASE expression,
(CASE WHEN a IS NOT NULL THEN a WHEN b IS NOT NULL THEN b ...)

regards, tom lane

Browse pgsql-sql by date

  From Date Subject
Next Message JT Kirkpatrick 1999-04-20 18:58:48 TUPLES <> HEAP
Previous Message Michael J Davis 1999-04-20 17:13:37 RE: [SQL] null values to be replaced by a default value