Można to zrobić za pomocą wyrażenia regularnego, jak powiedział @1000111, ale z bardziej skomplikowanym wyrażeniem regularnym. Spójrz na to, na przykład:
(^|,)(13|15)(,|$)
To nie pasuje do 13 z 135 lub 1 z 13 i tak dalej. Na przykład dla numeru 13 będzie to pasować do następnych ciągów:
1,13,2
13,1,2
1,13
13,2
13
Ale nie pasuje do tych
1,135,2
131,2
1,113
A to jest zapytanie:
SET @search = '13,15';
SELECT *
FROM test
WHERE interests REGEXP CONCAT('(^|,)(', REPLACE(@search, ',', '|'), ')(,|$)')