sql >> Database >  >> RDS >> Mysql

MySQL-query:match door komma's gescheiden waarde met kolom met door komma's gescheiden tekenreeks

Het kan worden gedaan met regexp zoals @1000111 zei, maar met meer gecompliceerde regexp. Kijk hier bijvoorbeeld naar:

(^|,)(13|15)(,|$)

Dit komt niet overeen met 13 van 135, of 1 van 13 enzovoort. Voor nummer 13 komt dit bijvoorbeeld overeen met de volgende reeksen:

1,13,2
13,1,2
1,13
13,2
13

Maar komt niet overeen met deze

1,135,2
131,2
1,113

En dit is een vraag:

SET @search = '13,15';

SELECT *
FROM test
WHERE interests REGEXP CONCAT('(^|,)(', REPLACE(@search, ',', '|'), ')(,|$)')


  1. Rijen herhalen op basis van kolomwaarde in elke rij

  2. ODBC-gegevens gebruiken in RapidMiner

  3. Python:MySQLdb en bibliotheek niet geladen:libmysqlclient.16.dylib

  4. Hoe de GROUP BY-clausule in SQL te gebruiken?