Ho una query che conta il prezzo di tutti gli articoli tra due date. Ecco la dichiarazione scelta:Come posso modificare NULL a 0 quando si ottiene un singolo valore da una funzione SQL?
SELECT SUM(Price) AS TotalPrice
FROM Inventory
WHERE (DateAdded BETWEEN @StartDate AND @EndDate)
È possibile assumere che tutte le tabelle siano state configurate correttamente.
Se faccio un prescelto tra due date e non ci sono elementi all'interno di tale intervallo di date, la funzione restituisce NULL come TotalPrice piuttosto che 0.
Come posso fare in modo che, se nessun record vengono trovati, 0 viene restituito anziché NULL?
Se si legge la domanda, si desidera restituire 0 se non ci sono risultati, questo funzionerà solo se il risultato della somma è nullo – Tetraneutron
@Tetraneutron: Penso che funzionerà. somma (prezzo) sarà nullo se non ci sono righe, ma ci sarà sempre esattamente una riga di risultato. – Thilo
COALESCE funziona bene fino a quando non si ottiene una riga per il funzionamento (cosa che si fa in questo caso). COALESCE non ti aiuterà se non ottieni nessuna riga indietro. –