Я пытаюсь суммировать значения из столбца типа jsonb в таблице в базе данных Aurora/Postgres, но, похоже, это не работает.
select (payload->>'loanAmount')::int from rfqs limit 1;
Дает результаты 10000 (int4)
.
select sum((payload->>'loanAmount')::int) from rfqs limit 1;
Дает результат: ERROR: invalid input syntax for integer: "2000.5"
Похоже, это как-то связано с тем, как оператор ->> преобразует json в строку, но похоже, что что-то не так с этой строкой, что не позволяет правильно преобразовать ее в тип int.
В качестве теста я сделал select SUM(('10000'::int));
, который работал нормально и вернул 10000, как и ожидалось.
Любые идеи?
::int
на::float
- person Haleemur Ali   schedule 12.06.20182000.5
не является целым числом. Целые числа не могут иметь дробные цифры. - person a_horse_with_no_name   schedule 07.11.2018