どうやらconversion_units
numeric
に変換できない値を保持できる文字列です 。
差し迫った問題は次の方法で解決できます:
SUM(NULLIF(conversion_units, '')::numeric)
ただし、他の値が存在する可能性があります。
正規表現を使用して変換可能な文字列を照合しようとする場合があります:
SUM((CASE WHEN conversion_units ~ E'^\\d(?:\\.\\d)*$' THEN conversion_units END)::numeric)