web-dev-qa-db-fra.com

Remplacer null par dans MySQL

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?

40
NullVoxPopuli

Oui, en utilisant COALESCE

COALESCE parcourt la liste des valeurs que vous lui attribuez et renvoie la première valeur non nulle.

55
Teekin

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).

42
Arif

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)
4
Colin Hebert

MySQL:

SELECT COALESCE(Mycolumn, 0);
2
Sjoerd

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
0
Alex Khimich