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

Forespørgsel efter nøjagtig match af en streng i SQL

Hvis jeg forstår spørgsmålet korrekt, vil du gerne matche "diamant", når det er et særskilt ord og ikke en del af et andet ord som "diamondville". Du kunne gøre noget som SELECT * FROM tproduct WHERE beskrivelse som '% diamant %', og dette ville matche alle de poster, der har "diamant" omgivet af mellemrum.

Men det ville ikke virke. Det ville ikke finde poster, hvor beskrivelsen starter med "Diamond", eller hvor der er et komma eller punktum efter "Diamond"

Du skal matche på et regulært udtryk. Du kan angive ordgrænser med det:

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

Se denne side for mere information om MySQL regulære udtryk:http:// dev.mysql.com/doc/refman/5.1/en/regexp.html



  1. Hvordan kan jeg få fremmednøglerne til en tabel i mysql

  2. Barkers notation

  3. Sideinddeling af poster på klientsideproblem

  4. Brug TYPE_NAME() til at få navnet på en datatype i SQL Server