Этот код:
SELECT sum(periodo::INTEGER) as period
FROM informe_reposo
предполагает, что periodo
может быть преобразовано в целое число без проблем. К сожалению, Postgres не имеет безопасного конвертирования, но вы можете использовать case
и приблизиться:
SELECT sum(case when periodo ~ '^[-]?[0-9]{1,9}$' then periodo end)::INTEGER) as period
FROM informe_reposo;
Я бы посоветовал вам посмотреть, какие значения терпят неудачу - посмотреть, что вы должны с ними делать.