Как сделать выбрку по массиву JSON в Postgresql 9.6?

В PostgreSQL 9.6 вы можете сделать выборку по массивам JSON, используя операторы -> и ->>.

Оператор -> позволяет получить элемент массива JSON по заданному индексу или паре ключ-значение. Например:

SELECT json_array -> 1 FROM table;

Этот запрос вернет второй элемент массива JSON с именем json_array из таблицы table.

Оператор ->> позволяет получить значение элемента массива JSON по заданным индексу или паре ключ-значение в виде текста. Например:

SELECT json_array ->> 1 FROM table;

Этот запрос вернет значение второго элемента массива JSON в текстовом формате.

Вы также можете выполнить более сложные выборки с помощью операторов -> и ->>. Например:

SELECT json_array -> 1 ->> 'key' FROM table;

Этот запрос вернет значение ключа с именем 'key' из второго элемента массива JSON с именем json_array из таблицы table.

Кроме того, в PostgreSQL 9.6 есть множество функций для работы с JSON, которые могут быть использованы в выборке. Например, функция json_array_elements(json) позволяет развернуть массив JSON в набор строк:

SELECT json_array_elements(json_array) FROM table;

Этот запрос вернет каждый элемент массива JSON в виде отдельной строки.

Также вы можете использовать оператор UNNEST для развертки массивов JSON в таблицу:

SELECT * FROM table, json_array_elements(json_array) AS elements;

Этот запрос вернет все строки из таблицы table, каждая из которых будет сопоставлена с каждым элементом массива JSON с именем json_array.

Надеюсь, эта информация поможет вам использовать возможности выборки по массивам JSON в PostgreSQL 9.6.