Từ trang tài liệu về các chức năng tổng hợp:
Vì vậy, nếu bạn muốn đảm bảo giá trị được trả về, hãy áp dụng COALESCE
đến kết quả trong tổng số SUM
, không phải đối số của nó:
SELECT COALESCE(SUM(capacity), 0) …
Đối với 'câu hỏi con' của Oracle, tôi không thể tìm thấy bất kỳ khái niệm nào về NULL tại trang tài liệu chính thức ( một cho 10.2 , cụ thể), nhưng hai nguồn khác không rõ ràng:
Nghĩa là, bạn không cần áp dụng NVL cho capacity
. (Nhưng, như với COALESCE
trong PostgreSQL, bạn có thể muốn áp dụng nó cho SUM
.)