json_array_elements: недопустимый синтаксис ввода для целого числа - PullRequest
1 голос
/ 04 августа 2020

У меня есть следующие образцы данных для демонстрации:

Таблица :

create table tbl_json
(
   id json
);

Некоторые значения:

insert into tbl_json values('[{"id":1},{"id":2},{"id":3}]');

Запрос : преобразовать / преобразовать id в integer из json столбца.

Пробовал :

select json_array_elements(id)->>'id'::int ids 
from tbl_json;

Получение сообщения об ошибке:

ERROR: invalid input syntax for integer: "id"

1 Ответ

3 голосов
/ 04 августа 2020

Приведение ::int применяется к 'id', потому что оно имеет более высокий приоритет.

select (json_array_elements(id)->>'id')::int ids 
from tbl_json;
...