Zřejmě conversion_units
je řetězec, který může obsahovat hodnoty nepřevoditelné na numeric
.
Váš okamžitý problém lze vyřešit tímto způsobem:
SUM(NULLIF(conversion_units, '')::numeric)
ale mohou existovat i jiné hodnoty.
Můžete zkusit použít regulární výraz k porovnání konvertibilních řetězců:
SUM((CASE WHEN conversion_units ~ E'^\\d(?:\\.\\d)*$' THEN conversion_units END)::numeric)