[HS] MySQL: valeur par défaut

2 réponses
Avatar
Olivier
Hello,

Voici une question qui n'a qu'un rapport indirect avec Debian (même si
la mise en oeuvre sera faite sur notre OS préféré).

Comment avec MySQL, retourner une valeur par défaut, si aucun rang ne
correspond, ou un rang correspond mais que la valeur qu'il contient
est NULL ?

Exemple:
SELECT IFNULL("ABC", macolonne2) AS foo WHERE macolonne1=123

Si aucun enregistrement avec macolonne1=123 n'existe, retourner "ABC"
Si un enregistrement avec macolonne1=123 existe mais que la valeur de
macolonne2 est NULL, retourner "ABC"
Si un enregistrement avec macolonne1=123 n'existe et que la valeur de
macolonne2 n'est pas NULL, retourner la valeur de macolonne2

Slts

2 réponses

Avatar
Jean-Michel OLTRA
Bonjour,
Le lundi 23 mai 2022, Olivier a écrit...
Exemple:
SELECT IFNULL("ABC", macolonne2) AS foo WHERE macolonne13

Peut-être :
select coalesce((select macolonne2 from matable where macolonne13),
'ABC');
--
jm
Avatar
Olivier
Merci Í  tous pour vos réponses !
La réponse de Dethegeek fonctionne parfaitement.
Au passage, j'ignorais que MySQL était si susceptible sur l'absence de
parenthèses.
Le lun. 23 mai 2022 Í  22:57, Jean-Michel OLTRA
a écrit :
Bonjour,
Le lundi 23 mai 2022, Olivier a écrit...
Exemple:
SELECT IFNULL("ABC", macolonne2) AS foo WHERE macolonne13

Peut-être :
select coalesce((select macolonne2 from matable where macolonne13),
'ABC');
--
jm