Je reçois NULL
valeurs dans les résultats d'une opération dans MySQL.Remplacer null par 0 dans MySQL
Existe-t-il un moyen de convertir les valeurs NULL
en valeur 0?
Je reçois NULL
valeurs dans les résultats d'une opération dans MySQL.Remplacer null par 0 dans MySQL
Existe-t-il un moyen de convertir les valeurs NULL
en valeur 0?
Oui, en utilisant COALESCE
. COALESCE parcourt la liste des valeurs que vous lui donnez et renvoie la première valeur non nulle.
Il y a la méthode COALESCE
qui renvoie le premier paramètre non nul, dans votre cas:
COALESCE(field, 0)
Mais vous pouvez utiliser si vous voulez plus:
COALESCE(field1, field2, 0)
MySQL:
SELECT COALESCE(Mycolumn, 0);
J'ajoute cette réponse parce que personne ne mentionne IFNULL
fonction
Vous pouvez utiliser IFNULL
SELECT IFNULL(column_name, 0) FROM table_name;
IFNULL
retourne la valeur de la colonne (si elle a autre chose que NULL
) sinon second paramètre passé (dans ce cas 0
).
Merci, courez parfait dans mysql. – iarroyo
+1: 'COALESCE' est ANSI, pris en charge par SQL Server 2000+, Oracle 9i +, MySQL 4.1+, pas la version de PostgreSQL ou SQLite ... –
MySQL est mentionné dans le titre. J'ai ajouté une étiquette pour cela. – RedFilter
Je pense que chaque DB 3VL avec une interface SQL supporte 'coalesce()'. Cas et point, [c'était en MySQL 3.23] (http://www.norrnod.se/norrnod/dokumentation/mysql/3.23.45/manual_toc.html#Comparison_Operators) qui est à peu près aussi proche du fond du canon que Tu peux recevoir. –