Re: SELECT de colonne alternative

From: Stéphane Schildknecht <sas(at)atosc(dot)org>
To: Daniel Verite <daniel(at)manitou-mail(dot)org>
Cc: pgsql-fr-generale(at)postgresql(dot)org
Subject: Re: SELECT de colonne alternative
Date: 2006-01-04 17:03:11
Message-ID: 43BBFFCF.6030309@atosc.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Daniel Verite wrote:
> Pierre Couderc wrote:
>
>
>>Je voudrais selectionner une colonne, mais si elle est vide un autre
>>colonne. Avec une fonvtion, cela pourrait donner :
>>
>>SELECT testevaleur(length(col1)>0, col1, col2)...
>>
>>ou testevaleur serait une fonction qui testerait si l'argument 1 est
>>vrai, et rendrait suivant le cas l'argument 2 ou 3.
>
>
> Ca peut s'écrire comme:
>
> SELECT
> CASE WHEN length(col1)>0 THEN col1 ELSE col2 END,
> ...
>
Il existe également la fonction COALESCE

COALESCE(value [, ...])
Cette fonction retourne le premier argument non-null.

Ainsi,
select coalesce(col1,col2) from table ;
retournera col2 si col1 est null.

--
Stéphane SCHILDKNECHT
Président de PostgreSQLFr - http://www.postgresqlfr.org
ICQ : 142504394 - Yahoo! : stephanesas - IRC : SAS

In response to

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Denis Bitouzé 2006-01-23 07:31:05 Échec du lancement de postgresql (Mandriva)
Previous Message Daniel Verite 2006-01-04 16:11:21 Re: SELECT de colonne alternative