2010-11-14 21 views
0

J'ai une colonne qui contient des valeurs nulles dans certaines lignes.Comment écrire l'instruction select sqlite pour les enregistrements NULL

Je souhaite faire la somme des valeurs de colonne en écrivant une instruction select dans sqlite.

Comment puis-je écrire l'instruction afin qu'il traite les valeurs nulles comme 0.

Ma déclaration actuelle sqlite: select sum (montant) de table1 donne l'erreur car elle renvoie la valeur null.

Aidez-nous s'il vous plaît.

Répondre

1

Vous pouvez utiliser la fonction ifnull (x, y) ou coalesce (x, y, z, ...). Chacun d'entre eux renvoie la première valeur non nulle de la liste des paramètres de gauche à droite. ifnull a exactement deux paramètres alors que coalesce en a au moins deux.

select sum (IFNULL (montant, 0)) à partir de Table1

3

Accordgin à SQLite documentation:

La somme() et totale() des fonctions d'agrégation retour somme de toutes les valeurs non nulles dans le groupe. S'il n'y a pas de lignes d'entrée non NULL alors sum() renvoie NULL mais total() renvoie 0.0. NULL n'est normalement pas un résultat utile pour la somme des lignes sans le

Donc je suppose que vous feriez mieux d'utiliser total() au lieu de sum() au cas où vous espériez que le résultat soit 'non-nul' .