Oracle
 sql >> Datenbank >  >> RDS >> Oracle

SELECT SUM gibt eine Zeile zurück, wenn keine Datensätze vorhanden sind

„Ich habe erwartet, dass ich „Keine Datensätze gefunden“ bekomme, obwohl keine Datensätze vorhanden sind, aber stattdessen erhalte ich ein Nullergebnis.“

Führen Sie dann

aus
SELECT SUM(dummy) FROM DUAL WHERE 1=2 HAVING COUNT(*) > 0

Geben Sie also an, dass Sie nur dort eine Zusammenfassung zurückgeben möchten, wo Zeilen berücksichtigt wurden.

SELECT SUM(dummy) FROM DUAL WHERE 1=2 HAVING SUM(dummy) IS NOT NULL

ist ähnlich, aber COUNT(*) würde eine Zusammenfassungszeile zurückgeben, wenn es nur Zeilen gäbe, für die dummy null wäre, während letzteres dies nicht tun würde.