Från dokumentationssidan om aggregerade funktioner:
Så om du vill garantera ett värde som returneras, använd COALESCE
till resultatet av SUM
, inte till dess argument:
SELECT COALESCE(SUM(capacity), 0) …
När det gäller Oracle 'underfrågan', ja, jag kunde inte hitta någon föreställning om NULLs på den officiella dokumentsidan (den för 10.2 , i synnerhet), men två andra källor är entydiga:
Det vill säga, du behöver inte tillämpa NVL på capacity
. (Men som med COALESCE
i PostgreSQL kanske du vill tillämpa det på SUM
.)