Bonjour,
j'ai l'impression que la fonction NVL ne marche pas correctement sur ma base.
Je suis tombé sur la requete suivante en reprenant du code en PL/SQL sous ORACLE 10 :
Sachant que le type de la colonne MaColonne est NUMBER.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT NVL(SUM(ABS(MaColonne)),0) FROM MaTable WHERE Condition 1
Il m'a semblé alors que ce serait plus juste d'écrire la suite :
Or, la première requête marche bien alors que la seconde renvoie systématiquement NULL
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT SUM(ABS(NVL(MaColonne, 0))) FROM MaTable WHERE Condition 1
Sachant qu'après reflexion je me suis rendu que dans la table MaTable, il n'y a aucune valeur de MaColonne à NULL, je suis perplexe
J'ai posté en premier lieu sur le forum SQL où on m'a dit que mon raisonnement était correct. Comme j'ai l'impression sur d'autres requetes que mon NVL agit "bizarrement" je reposte sur le forum ORACLE pour savoir s'il n'y a pas une particularité de ce SGBD que j'ignore au niveau de cette fonctionnalité.
Merci pour vos réponses
Partager