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

Consulta para correspondência exata de uma string no SQL


Se entendi a pergunta corretamente, você deseja corresponder "diamante" quando é uma palavra distinta e não parte de outra palavra como "diamondville". Você poderia fazer algo como SELECT * FROM tproduct WHERE descrição como '% diamante %' e isso corresponderia a todos os registros que têm "diamante" cercado por espaços.

Mas isso não funcionaria. Isso não encontraria registros onde a descrição começa com "Diamond" ou onde há uma vírgula ou ponto após "Diamond"

Você precisa corresponder em uma expressão regular. Você pode especificar limites de palavras com isso:
select * from t2 where description regexp '[[:<:]]diamond[[:>:]]';

Veja esta página para mais informações sobre expressões regulares do MySQL:http:// dev.mysql.com/doc/refman/5.1/en/regexp.html