22012: division_by_zero
PostgreSQL意味
算術式でゼロによる除算 (または剰余) を試行した。PostgreSQL はゼロ除算を許可せず、クエリを中止する。
原因
除数の列/式が 0 と評価される、比率/割合計算での分母がゼロ、ゼロである COUNT や SUM による除算、フィルタされていないデータ内の想定外のゼロ値。
対処方法
分母がゼロのとき NULL を返すよう NULLIF を使う: numerator / NULLIF(denominator, 0)。必要なら COALESCE で結果をデフォルト値にする: COALESCE(numerator / NULLIF(denominator,0), 0)。または CASE WHEN denominator = 0 THEN NULL ELSE numerator/denominator END を使う。ゼロのケースは事前にデータから除外する。