Précédent   Forum des professionnels en informatique > Bases de données > Firebird > SQL
SQL Forum d'entraide sur le SQL pour Firebird
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 18/11/2011, 09h50   #1
Modérateur
 
Avatar de SergioMaster
 
Serge Girard
Développeur informatique
Inscription : janvier 2007
Messages : 3 623
Détails du profil
Informations personnelles :
Nom : Serge Girard
Âge : 55
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Industrie

Informations forums :
Inscription : janvier 2007
Messages : 3 623
Points : 4 527
Points : 4 527
Par défaut Un petit problème de CASE

Firebird 2.1

Je suis confronté a ceci , dans une table T j'ai un champ RAYON qui peut être NULL ou non . Dans un SQL je veux simplement indiqué 'Global' si RAYON=NULL ou 'Partiel' dans le cas contraire .

ma première réaction a été
Code :
1
2
3
4
5
6
SELECT NUMERO,
CASE RAYON 
WHEN NULL THEN 'Global'
ELSE 'Partiel'
END AS ITYPE
FROM T
à ma surprise tout les enregistrements ont été indiqué 'Partiel' ce qui n'est bien sûr pas le cas . Pour contourner , j'ai donc écrit ceci
Code :
1
2
3
4
5
6
SELECT NUMERO,
CASE COALESCE(RAYON,'*') 
WHEN '*' THEN 'Global'
ELSE 'Partiel'
END AS ITYPE
FROM T
[*]n'y a t'il pas plus simple ?

[EDIT] des fois je me battrais je me faisais une fixette sur la syntaxe

Code :
1
2
3
4
5
6
SELECT NUMERO,
CASE  
WHEN (RAYON IS NULL) THEN 'Global'
ELSE 'Partiel'
END AS ITYPE
FROM T
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein
J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius
SergioMaster 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 13h57.


 
 
 
 
Partenaires

Hébergement Web