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