Anscheinend conversion_units
ist ein String, der Werte enthalten kann, die nicht in numeric
konvertierbar sind .
Ihr unmittelbares Problem kann auf diese Weise gelöst werden:
SUM(NULLIF(conversion_units, '')::numeric)
aber es können auch andere Werte vorhanden sein.
Sie könnten versuchen, regexp zu verwenden, um konvertierbare Zeichenfolgen abzugleichen:
SUM((CASE WHEN conversion_units ~ E'^\\d(?:\\.\\d)*$' THEN conversion_units END)::numeric)