J'ai une requête qui compte le prix de tous les articles entre deux dates. Voici l'instruction select:Comment puis-je modifier NULL à 0 lors de l'obtention d'une seule valeur à partir d'une fonction SQL?
SELECT SUM(Price) AS TotalPrice
FROM Inventory
WHERE (DateAdded BETWEEN @StartDate AND @EndDate)
Vous pouvez supposer que toutes les tables ont été correctement configurées.
Si je fais une sélection entre deux dates et il n'y a aucun élément dans cette plage de dates, la fonction retourne NULL comme plutôt que TotalPrice 0.
Comment puis-je faire en sorte que si aucun enregistrement ne trouve, 0 est renvoyé plutôt que NULL?
Si vous lisez la question, il veut que 0 soit retourné s'il n'y avait pas de résultats, cela ne fonctionnera que si le résultat de la somme est nulle – Tetraneutron
@Tetraneutron: Je pense que cela va fonctionner. somme (prix) sera nulle s'il n'y a pas de lignes, mais il y aura toujours exactement une ligne de résultat. – Thilo
COALESCE fonctionne correctement tant que vous obtenez une rangée de retour pour qu'elle fonctionne (ce que vous faites dans ce cas). COALESCE ne vous aidera pas si vous n'obtenez pas de lignes en retour. –