22012: division_by_zero
PostgreSQLWas bedeutet das?
Ein arithmetischer Ausdruck hat versucht, durch null zu dividieren (oder Modulo null zu bilden). PostgreSQL erlaubt keine Division durch null und bricht die Abfrage ab.
Ursache
Die Divisor-Spalte bzw. der Divisor-Ausdruck ergibt 0; ein Nenner von null in einer Verhältnis-/Prozentberechnung; Division durch ein COUNT oder SUM mit dem Wert null; unerwartete Nullwerte in ungefilterten Daten.
Lösung
Verwende NULLIF, um bei einem Nenner von null NULL zurückzugeben: numerator / NULLIF(denominator, 0). Mache das Ergebnis bei Bedarf mit COALESCE zu einem Standardwert: COALESCE(numerator / NULLIF(denominator,0), 0). Oder verwende CASE WHEN denominator = 0 THEN NULL ELSE numerator/denominator END. Filtere Fälle mit null vorab aus den Daten.