Найти целое число в строке 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]"}]

→ Ссылка