sql >> Databasteknik >  >> RDS >> Mysql

Fråga efter exakt matchning av en sträng i SQL

Om jag förstår frågan rätt vill du matcha "diamant" när det är ett distinkt ord och inte en del av ett annat ord som "diamondville". Du kan göra något som SELECT * FROM tproduct WHERE beskrivning som "% diamant %" och detta skulle matcha alla poster som har "diamant" omgiven av blanksteg.

Men det skulle inte fungera. Det skulle inte hitta poster där beskrivningen börjar med "Diamond" eller där det finns ett kommatecken eller punkt efter "Diamond"

Du måste matcha på ett reguljärt uttryck. Du kan ange ordgränser med det:

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

Se den här sidan för mer information om MySQL reguljära uttryck:http:// dev.mysql.com/doc/refman/5.1/en/regexp.html



  1. Hur Atan2d() fungerar i PostgreSQL

  2. Kom ihåg detta när du formaterar en TIME-datatyp i SQL Server (T-SQL)

  3. Emulator vs Samsung-enhet SD-kortlagring

  4. Hur man listar alla vyer i en PostgreSQL-databas