ВЫБЕРИТЕ значения из строки JSONB в PostgreSQL - PullRequest
0 голосов
/ 27 марта 2020

У меня есть несколько строк jsonb в таблице, созданной сторонним приложением. Я хочу иметь возможность разделить содержимое на отдельные строки. Строка выглядит следующим образом:

[[ "Plant","p"],["Animal","gt"],["Lake","gf"],["Mountain","ke"]]

Мне нужен запрос, который создает мне следующее:

Type    | Value
________________
Plant   | p
Animal  |gt
Lake    |gf
Mountain|ke

Как мне это сделать?

1 Ответ

1 голос
/ 27 марта 2020
SELECT e ->> 0 AS type,
       e ->> 1 AS value
FROM jsonb_array_elements(
        '[[ "Plant","p"],["Animal","gt"],["Lake","gf"],["Mountain","ke"]]'::jsonb
     ) AS e;

   type   | value 
----------+-------
 Plant    | p
 Animal   | gt
 Lake     | gf
 Mountain | ke
(4 rows)
...