Dari halaman dokumentasi tentang fungsi agregat:
Jadi, jika Anda ingin menjamin nilai yang dikembalikan, terapkan COALESCE
ke hasil dari SUM
, bukan argumennya:
SELECT COALESCE(SUM(capacity), 0) …
Adapun 'subquestion' Oracle, yah, saya tidak dapat menemukan gagasan tentang NULL di halaman dokumen resmi (satu untuk 10.2 , khususnya), tetapi dua sumber lainnya tidak ambigu:
Artinya, Anda tidak perlu menerapkan NVL ke capacity
. (Tapi, seperti dengan COALESCE
di PostgreSQL, Anda mungkin ingin menerapkannya ke SUM
.)