У меня есть ситуация, когда мы храним теги в массиве JSON, и клиент начал использовать его как хранилище значений ключа. Теперь мне нужно добавить способ поиска в этих данных без учета регистра.
Например, если столбец JSON содержит
{ "tags": ["Key1:value1", "Key2:value2"] }
Как я могу успешно найти «Key1: VaLuE1» в массиве?
В настоящее время я запрашиваю это следующим образом, где
meta
это столбец JSON:
select * from events where "Key1:value1" member of (meta->"$.tags");
Я попробовал добавить
collate utf8mb4_general_ciв обе стороны от условия, но это не работает. Я также попробовал сделать
LIKE
сравнение, но это не сработает, так как мне нужно убедиться, что оно извлекает только полную строку (например, не «Key1:val»). Я также хотел бы избежать изменения таблицы для изменения параметров сортировки для всего столбца JSON, но рассмотрю это, если это единственный вариант.