Как сделать поиск по 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'));
  • Вопрос задан
  • 882 просмотра
Решения вопроса 1
Пригласить эксперта
Ваш ответ на вопрос

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

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