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

Как найти цифру через LIKE?

Всем привет, есть таблица примерно такого строения:
5ee72214f3b74bcaaa9d474720bd9274.jpg
Все числа разделены запятой. Как мне вытащить, например, записи, где в есть число 1?
Но это должно быть именно число а не цифра, т.е. число 17 не подходит. Я пробую так, и вроде все получается, но правильно ли это, не появятся ли потом какие-то условия, при которых вытащится и число 17 или, скажем, 119 или еще что-то?
SELECT * FROM `table` WHERE number = 1 OR number LIKE ',1' OR number LIKE '1,' OR number LIKE ',1,'
  • Вопрос задан
  • 205 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
mahoho
@mahoho
Full stack certified PHP developer.
FIND_IN_SET() вам в помощь:
SELECT * FROM table_name WHERE FIND_IN_SET(1, numbers) IS NOT NULL
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Melkij
@Melkij
PostgreSQL DBA
Приведите в нормальную форму. Сразу гора костылей пропадёт.
Ответ написан
Ваш ответ на вопрос

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

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