Поиск столбца JSON для JSON, который содержит определенное значение - PullRequest
0 голосов
/ 03 октября 2018

У меня есть база данных postgresql с таблицей выбора, в таблице выбора есть столбец json, содержащий записи JSON, например: [1,2,3]

Мне нужен запрос, которыйвозвращает все записи, содержащие определенное значение.

Например, у меня есть следующие записи:

  • [1,2,3] [6,7,1] [4,5, 2]

Я хочу получить все записи, содержащие значение 1, чтобы он возвращал: [1,2,3] [6,7,1]

Спасибо,

1 Ответ

0 голосов
/ 03 октября 2018

demo: db <> fiddle

Функции json_array_elements_text расширяют массивы json в одну строку каждого элемента (как текст).При этом вы можете отфильтровать его по любому значению.

SELECT 
    json_data
FROM choices, json_array_elements_text(json_data) elem
WHERE value = '1'

Документация: функции JSON


Обратите внимание, что «json» - это имядля типа JSON в PostgreSQL.Вы должны лучше переименовать вашу колонку, чтобы избежать некоторых конфликтов.(Я назвал мой json_data)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...