What you want is the SQL-standard CASE statement.
A
On Wed, Feb 08, 2006 at 06:06:10PM -0800, Ken Hill wrote:
> This has been something I've been trying do so that I can do some column
> comparisons as part of "data-cleaning" work. I'll let you know if this
> helps me accomplish my task!
>
> On Wed, 2006-02-08 at 15:20 -0800, Bricklen Anderson wrote:
>
> > pgsql@yukonho.de wrote:
> > > Greetings,
> > >
> > > the following is an MySQL statement that I would like to
> > > translate to PostgreSQL:
> > >
> > > Could someone point me to a documentation of a coresponding
> > > Systax for an "IF" clause in the a SELECT,
> > > or is the some other way to do this....
> > >
> > > select
> > > if(spektrum is null,' ','J'),
> > > if(s19 is null,' ','J'),
> > > if(OhneGrenze is null,' ','J'),
> > > from namen;
> > >
> > >
> > > Do I need to create my own function to allow this behaviour!
> > >
> > >
> > > my best regards,
> > >
> > > Stefan
> >
> > use CASE
> >
> > Since I'm not a user of MySQL, and if I'm reading your query correctly:
> > try
> > select (CASE when spektrum is null then 'J' else spektrum end),
> > ...
> >
> > or if you are just trying to replace nulls, then try COALESCE
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 1: if posting/reading through Usenet, please send an appropriate
> > subscribe-nomail command to majordomo@postgresql.org so that your
> > message can get through to the mailing list cleanly
--
Andrew Sullivan | ajs@crankycanuck.ca
It is above all style through which power defers to reason. --J. Robert Oppenheimer