Home > Archive > PostgreSQL SQL > February 2006 > Syntax for "IF" clause in SELECT









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Syntax for "IF" clause in SELECT
pgsql@yukonho.de

2006-02-08, 8:26 pm

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
--
email: stefan@yukonho.de
tel : +49 (0)6232-497631
http://www.yukonho.de

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Bricklen Anderson

2006-02-08, 8:26 pm

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

Ken Hill

2006-02-08, 8:26 pm

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:
>
> 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

2006-02-09, 9:24 am

What you want is the SQL-standard CASE statement.

A

On Wed, Feb 08, 2006 at 06:06:10PM -0800, Ken Hill wrote:[color=darkred
]
> 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:
>

--
Andrew Sullivan | ajs@crankycanuck.ca
It is above all style through which power defers to reason.
--J. Robert Oppenheimer

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Sponsored Links





Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive | Programming forum archive

Copyright 2008 droptable.com