Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Abfrage nach exakter Übereinstimmung einer Zeichenfolge in SQL

Wenn ich die Frage richtig verstehe, möchten Sie "Diamant" abgleichen, wenn es ein eindeutiges Wort und kein Teil eines anderen Wortes wie "Diamondville" ist. Sie könnten so etwas tun wie SELECT * FROM tproduct WHERE Beschreibung wie '% Diamant %' und dies würde mit allen Datensätzen übereinstimmen, bei denen "Diamant" von Leerzeichen umgeben ist.

Aber das würde nicht funktionieren. Das würde keine Datensätze finden, bei denen die Beschreibung mit "Diamond" beginnt oder bei denen nach "Diamond" ein Komma oder ein Punkt steht

Sie müssen einen regulären Ausdruck finden. Damit können Sie Wortgrenzen festlegen:

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

Weitere Informationen zu regulären MySQL-Ausdrücken finden Sie auf dieser Seite:http:// dev.mysql.com/doc/refman/5.1/en/regexp.html