Получить массив из jsonb в функции plpgsql
xyz int [];
abc jsonb := ["1150,2021-02-22 13:24:04.587018+02,a39b5ab0-5812-4f.",
"1151,2021-02-22 12:36:13.282165+02,a98f9ab0-5611-4f.",
"1153,2021-02-22 12:36:13.282165+02,e36c3506-791b-4c."];
как на основе abc получить такой массив xyz ?
[1150, 1151, 1153]
Ответы (1 шт):
Автор решения: Мелкий
→ Ссылка
Если предположить, что необходимо получить данные до запятой из каждой строки JSON-массива, то так:
xyz := array(
select left(el, position(',' in el)-1)
from jsonb_array_elements_text(abc) as el
);