PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Aggregat einer leeren Ergebnismenge

Von der Dokumentationsseite über Aggregatfunktionen:

Wenn Sie also einen zurückgegebenen Wert garantieren möchten, wenden Sie COALESCE an zum Ergebnis von SUM , nicht zu seinem Argument:

SELECT COALESCE(SUM(capacity), 0) …

Was die Oracle-„Unterfrage“ betrifft, so konnte ich auf der offiziellen Dokumentseite (die für 10.2 , insbesondere), aber zwei andere Quellen sind eindeutig:

Das heißt, Sie müssen NVL nicht auf capacity anwenden . (Aber wie bei COALESCE in PostgreSQL möchten Sie es vielleicht auf SUM anwenden .)