sql >> Databáze >  >> RDS >> PostgreSQL

Stav Postgres SQL:22P02

Zřejmě conversion_units je řetězec, který může obsahovat hodnoty nepřevoditelné na numeric .

Váš okamžitý problém lze vyřešit tímto způsobem:

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

ale mohou existovat i jiné hodnoty.

Můžete zkusit použít regulární výraz k porovnání konvertibilních řetězců:

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


  1. MySQL:získat velký výběr po kouscích

  2. Najděte pozici řetězce a připojte se k řádku jiné tabulky

  3. Jak získat dvě návratové hodnoty z uložené procedury Oracle

  4. Připojení Mysql z více tabulek