Найти целое число в строке MySQL
Помогите с задачей у меня есть поле tag с типом строка Есть две строки в таблице
внутри 1 строки в поле tag значение [2,3,4] внутри 2 строки в поле tag значение [22,90,100]
если я делаю запрос
SELECT * FROM app_tours WHERE (tags LIKE "%2%") ORDER BY id ASC LIMIT 5 OFFSET 0;
То база вернет мне две строки, потому как она найдет двойку в значении 22
Подскажите как решить этот вопрос как найти именно число в строке?
Ответы (1 шт):
Автор решения: Eugene X
→ Ссылка
SELECT * from app_tours
WHERE JSON_CONTAINS(tags, '2', '$');
Как пример использования:
SELECT * FROM (SELECT "[2,3,4]" as tags
UNION SELECT "[22,90,100]") as b WHERE JSON_CONTAINS(tags, '2', '$');
Возвращает
[{tags: "[2,3,4]"}]