Mysql
 sql >> Database >  >> RDS >> Mysql

Query MySQL:abbina il valore separato da virgole con la colonna contenente la stringa separata da virgola

Può essere fatto con regexp come ha detto @ 1000111, ma con regexp più complicato. Guarda questo, ad esempio:

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

Questo non corrisponderà a 13 da 135, o 1 da 13 e così via. Ad esempio, per il numero 13 corrisponderà alle stringhe successive:

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

Ma non corrisponderà a questi

1,135,2
131,2
1,113

E questa è la domanda:

SET @search = '13,15';

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