Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/02/2008, 17h13   #1
Membre régulier
 
Inscription : août 2005
Messages : 346
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2005
Messages : 346
Points : 94
Points : 94
Par défaut Recuperer une chaine vide à partir d'un champ avec valeur nulle ?

Bonjour

j'ai besoin de récupérer la concaténation de 2 champs. Cependant, les lignes dont l'un des champs est nul renvoient une chaine vide à la place.

Ex:
Code :
SELECT nom || ',' || orga AS desig FROM clients;
La colonne "desig" des clients sans nom (seule l'organisation est connue) est vide. A la place, j'ai besoin d'obtenir desig=",organisation".

J'ai aussi essayé avec un SUBSTRING(nom,0), mais ça n'y change rien.

Y-a-t-il une solution ?

Bonne soiree/journée,

Eric
Chekov est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2008, 21h54   #2
Membre émérite
 
Avatar de hpalpha
 
Inscription : mars 2002
Messages : 770
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 770
Points : 833
Points : 833
Bonsoir,

en fait, le null est gourmant :

quelquechose concaténé avec null, sera null

il faut tout simplement utiliser le fonction coalesce

SELECT coalesce(nom,'') || ',' || orga AS desig FROM clients;

si nom est null, alors il prend le 2eme argument
hpalpha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2008, 22h14   #3
Membre régulier
 
Inscription : août 2005
Messages : 346
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2005
Messages : 346
Points : 94
Points : 94
Excellent !
J'avais un bug dans mon programme à cause de ça, ça m'évitera d'avoir à gérer ça dedans.

Merci
Chekov est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h50.


 
 
 
 
Partenaires

Hébergement Web