@Oklick

Как правильно реализовать перебор массива (jsonb) на Postgresql?

Доброго времени суток.
Столкнулся с такой проблемой.

Такой код работает (он ничего не находит, так как params->'sex' - число) :
SELECT * FROM goods WHERE jsonb_exists_any(params->'sex', array['1', '2', '3', '4'])

А такой выдает ошибку:
SELECT * FROM goods WHERE jsonb_exists_any(params->'sex', array[1, 2, 3, 4])

ERROR: function jsonb_exists_any(jsonb, integer[]) does not exist

Суть кода заключается в переборке значения массива array[1, 2, 3, 4] и в случае вхождения в него params->'sex', она добавляется в выборку.
В params->'sex' хранится число.
Подскажите, как правильно организовать код.
Заранее благодарен.
  • Вопрос задан
  • 1421 просмотр
Решения вопроса 1
BuriK666
@BuriK666
Компьютерный псих
(params->'sex')::text::integer = ANY (ARRAY[1,2,3]);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы