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

Как сделать поиск по 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'));
  • Вопрос задан
  • 1156 просмотров
Подписаться 2 Простой 13 комментариев
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Решения вопроса 1
Пригласить эксперта
Ваш ответ на вопрос

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

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