SQL LIKE кроме цифр в %
подскажите как выбрать только те записи, где есть 1
Такой запрос возвращает ещё те записи, где 1, 10, 11 и т.д.
SELECT * FROM `table` where value like '%1%'
| id | value |
| 1 | 4,10 |
| 2 | 3,10,9,2 |
| 3 | 3,4,2,1 |
| 4 | 3,4,1,2 |
| 5 | 3,4,10,2 |
Т.е вернуть только записи с id равен 3 или 4
Ответы (2 шт):
Автор решения: Герман Борисов
→ Ссылка
Если нужно именно через like, то нужно добавить с обеих сторон и от шаблона и от исходной строки разделители
SELECT * FROM `table` where CONCAT(',', value, ',') like '%,1,%'
Автор решения: Sergey
→ Ссылка
Вот способ через Regex
select * from table where value Regexp "((^|[,])pattern(($|[,])))+"
где pattern искомое значение