Podobno conversion_units
jest ciągiem, który może zawierać wartości, których nie można konwertować na numeric
.
Twój natychmiastowy problem można rozwiązać w ten sposób:
SUM(NULLIF(conversion_units, '')::numeric)
ale mogą istnieć inne wartości.
Możesz spróbować użyć wyrażenia regularnego do dopasowania ciągów konwertowalnych:
SUM((CASE WHEN conversion_units ~ E'^\\d(?:\\.\\d)*$' THEN conversion_units END)::numeric)