Apparemment conversion_units
est une chaîne qui peut contenir des valeurs non convertibles en numeric
.
Votre problème immédiat peut être résolu de cette manière :
SUM(NULLIF(conversion_units, '')::numeric)
mais il peut y avoir d'autres valeurs.
Vous pouvez essayer d'utiliser regexp pour faire correspondre les chaînes convertibles :
SUM((CASE WHEN conversion_units ~ E'^\\d(?:\\.\\d)*$' THEN conversion_units END)::numeric)