PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Postgres-SQL-Status:22P02

Anscheinend conversion_units ist ein String, der Werte enthalten kann, die nicht in numeric konvertierbar sind .

Ihr unmittelbares Problem kann auf diese Weise gelöst werden:

SUM(NULLIF(conversion_units, '')::numeric)

aber es können auch andere Werte vorhanden sein.

Sie könnten versuchen, regexp zu verwenden, um konvertierbare Zeichenfolgen abzugleichen:

SUM((CASE WHEN conversion_units ~ E'^\\d(?:\\.\\d)*$' THEN conversion_units END)::numeric)