J'obtiens des valeurs NULL
dans les résultats d'une opération dans MySQL.
Existe-t-il un moyen de convertir les valeurs NULL
en la valeur 0?
Oui, en utilisant COALESCE
COALESCE parcourt la liste des valeurs que vous lui attribuez et renvoie la première valeur non nulle.
J'ajoute cette réponse car personne n'a mentionné IFNULL
function
Vous pouvez utiliser IFNULL
SELECT IFNULL(column_name, 0) FROM table_name;
IFNULL
retournera la valeur de la colonne (si elle a autre chose que NULL
) sinon le second paramètre est passé (dans ce cas, 0
).
Il existe la méthode COALESCE
qui renvoie le premier paramètre non null, dans votre cas:
COALESCE(field, 0)
Mais vous pouvez l'utiliser si vous voulez plus:
COALESCE(field1, field2, 0)
MySQL:
SELECT COALESCE(Mycolumn, 0);
Si vous avez des erreurs et que vous avez des valeurs NULL dans la structure de table existante et que vous voulez des zéros, voici la solution:
UPDATE `table` SET `somefield`=0 WHERE `somefield` is null