Ze strony dokumentacji o funkcjach agregujących:
Jeśli więc chcesz zagwarantować zwróconą wartość, zastosuj COALESCE
do wyniku z SUM
, a nie do jego argumentu:
SELECT COALESCE(SUM(capacity), 0) …
Jeśli chodzi o „podpytanie” Oracle, cóż, nie mogłem znaleźć żadnego pojęcia o wartościach NULL na oficjalnej stronie dokumentacji (ten dla 10.2 ), ale dwa inne źródła są jednoznaczne:
Oznacza to, że nie musisz stosować NVL do capacity
. (Ale tak jak w przypadku COALESCE
w PostgreSQL możesz chcieć zastosować go do SUM
.)