Mysql
 sql >> Base de données >  >> RDS >> Mysql

Requête pour la correspondance exacte d'une chaîne en SQL

Si je comprends bien la question, vous voulez faire correspondre "diamant" lorsqu'il s'agit d'un mot distinct et non d'un autre mot comme "diamondville". Vous pouvez faire quelque chose comme SELECT * FROM tproduct WHERE description comme '% diamond %' et cela correspondrait à tous les enregistrements qui ont "diamond" entouré d'espaces.

Mais cela ne fonctionnerait pas. Cela ne trouverait pas les enregistrements dont la description commence par "Diamond" ou où il y a une virgule ou un point après "Diamond"

Vous devez faire correspondre une expression régulière. Vous pouvez spécifier les limites des mots avec cela :

select * from t2 where description regexp '[[:<:]]diamond[[:>:]]';

Consultez cette page pour plus d'informations sur les expressions régulières MySQL :http:// dev.mysql.com/doc/refman/5.1/en/regexp.html