Remplacer les valeurs NULL par d’autres valeurs dans MySQL
Lorsque vous effectuez une jointure (Left Join) ou une requête UNION, le SGBD place NULL là où il n’ya pas de correspondance dans l’ensemble. Dans ce tutoriel nous allons découvrir différents options permettant de remplacer NULL par 0 ou toute autre valeur à renseigner dans le SGBD MySQL.
Il y’a 3 options:
- Fonction COALESCE
- Fonction IFNULL
- L’instruction CASE
Exemple:
SELECT Age FROM Clients;
Fonction COALESCE
COALESCE() renverra la première valeur non NULL de la liste, ou NULL s’il n’y a pas de valeur non NULL.
SELECT COALESCE(Age, '0') AS Age FROM Clients;
Fonction IFNULL
La fonction IFNULL peut également être utilisée pour remplacer les valeurs NULL par une autre valeur. Il vérifie simplement si la valeur de son premier argument est NULL, donc il sera remplacé par la valeur du deuxième argument.
SELECT IFNULL(Age, '0') AS Age FROM Clients;
L’instruction CASE
Une autre façon pour remplacer les valeurs NULL par une autre valeur, consiste à utiliser l’expression CASE:
SELECT CASE WHEN Age IS NOT NULL THEN Age ELSE '0' END AS Result FROM Clients;