pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Philip Hallstrom <postgresql@philip.pjkh.com>
To: Mark Fenbers <Mark.Fenbers@noaa.gov>
Cc: pgsql-sql@postgresql.org
Subject: Re: default value for select?
Date: Mon, 9 May 2005 10:18:04 -0700 (PDT)
Message-ID: <20050509101745.F26087@wolf.pjkh.com> (raw)
In-Reply-To: <427F9685.8050104@noaa.gov>
References: <427F9685.8050104@noaa.gov>

> I want to update a column in myTable.  The value this column is set to depends on a
> nested select statement which sometimes returns 0 rows instead of 1.  This is a
> problem since the column I'm trying to update is set to refuse nulls.  Here's a
> sample:
> 
> update myTable set myColumn = (Select altColumn from altTable where altColumn !=
> 'XXX' limit 1) where myColumn = 'XXX';
> 
> MyColumn cannot accept nulls, but sometimes "Select altColumn ..." returns 0 rows,
> and thus, the query fails. 
> 
> Is there a way to set a default value to be inserted into myColumn if and when
> "select altColumn ..." returns zero rows?

COALESCE(value [, ...])

The COALESCE function returns the first of its arguments that is not null. 
Null is returned only if all arguments are null. This is often useful to 
substitute a default value for null values when data is retrieved for 
display, for example:

SELECT COALESCE(description, short_description, '(none)') ...

Like a CASE expression, COALESCE will not evaluate arguments that are not 
needed to determine the result; that is, arguments to the right of the 
first non-null argument are not evaluated.



view thread (4+ messages)  latest in thread

Message-ID: <20050509101745.F26087@wolf.pjkh.com>
Permalink:  ../20050509101745.F26087@wolf.pjkh.com/
Also on:    postgresql.org/message-id/20050509101745.F26087@wolf.pjkh.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: postgresql@philip.pjkh.com, Mark.Fenbers@noaa.gov
  Subject: Re: default value for select?
  In-Reply-To: <20050509101745.F26087@wolf.pjkh.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox