Очевидно conversion_units
е низ, който може да съдържа стойности, които не могат да бъдат конвертирани в numeric
.
Вашият непосредствен проблем може да бъде разрешен по следния начин:
SUM(NULLIF(conversion_units, '')::numeric)
но може да има и други стойности.
Може да опитате да използвате regexp за съпоставяне на конвертируеми низове:
SUM((CASE WHEN conversion_units ~ E'^\\d(?:\\.\\d)*$' THEN conversion_units END)::numeric)