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é
à 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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT NUMERO, CASE RAYON WHEN NULL THEN 'Global' ELSE 'Partiel' END AS ITYPE FROM T
[*]n'y a t'il pas plus simple ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT NUMERO, CASE COALESCE(RAYON,'*') WHEN '*' THEN 'Global' ELSE 'Partiel' END AS ITYPE FROM T
[EDIT] des fois je me battraisje me faisais une fixette sur la syntaxe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT NUMERO, CASE WHEN (RAYON IS NULL) THEN 'Global' ELSE 'Partiel' END AS ITYPE FROM T
Partager