Задать вопрос

Как сделать поиск по MySQL 8 с типом json?

Есть поле json и данные в нем хранятся таким образом ["a","b","c"]
Данные, которые будут приходить в это поле разные, но результат должен отдаваться, если будет хотя бы одно совпадение по полю.
Но наткнулся на такую проблему, если передать в поле (Например такое в бд лежит ["a","b","c","d"]) такие данные ['a','b','zxc'] то уже ничего не найдет, если ['a','b'] или ['a','b',' c'] то работает как надо

сам запрос
SELECT * FROM table_test WHERE JSON_CONTAINS(field_json, json_array('a','b','ddd'));

Как вариант решения думал генерировать сам запрос по чучуть типо таким образом, но думаю такое решение ударит по производительности сильно
SELECT * FROM table_test WHERE JSON_CONTAINS(field_json, json_array('a')) OR  JSON_CONTAINS(field_json, json_array('b')) OR  JSON_CONTAINS(field_json, json_array('ddd'));
  • Вопрос задан
  • 1174 просмотра
Подписаться 2 Простой 13 комментариев
Помогут разобраться в теме Все курсы
  • Stepik
    PRO C#. Базы данных
    2 месяца
    Далее
  • Академия Эдюсон
    Python-разработчик + ИИ
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Java-разработчик + ИИ
    9 месяцев
    Далее
Решения вопроса 1
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы