Страницы

Поиск по вопросам

вторник, 23 октября 2018 г.

Как сделать выборку по значению из JSON

Имеется таблица с полем типа json. Таблица заполнена значениями вида [123,854,12], [], [12,2142141,24] Как мне выбрать строку, в json которой содержится определенное число? Т.е. если я ищу 12, то я должен получить две строки со значениями, перечисленными выше.


Ответ

Если вы задействуете PostgreSQL вам разумнее воспользоваться не JSON, a типом ARRAY
CREATE TABLE tbl ( id INTEGER, name INTEGER ARRAY ); INSERT INTO tbl VALUES (1, '{123,854,12}'); INSERT INTO tbl VALUES (2, '{}'); INSERT INTO tbl VALUES (3, '{12,2142141,24}');
Тогда для поиска строк, в массиве name которых имеется значение 12 можно воспользоваться следующим запросом
SELECT * FROM tbl WHERE 12 = ANY (name); id | name ----+----------------- 1 | {123,854,12} 3 | {12,2142141,24}

Комментариев нет:

Отправить комментарий