Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySql select IN cláusula string delimitada por vírgula


Você pode usar o MySQL FIND_IN_SET função:
SELECT *
FROM my_table
WHERE FIND_IN_SET(id, comma_delimited_string) = 0

Adendo :Observe que a consulta acima não otimizável, portanto, se você tiver um índice em id MySQL não vai usá-lo. Você terá que decidir se a relativa simplicidade de usar FIND_IN_SET vale a pena sofrer um possível impacto no desempenho (digo potencial porque não sei se id está indexado ou se sua tabela é grande o suficiente para que isso seja uma preocupação).