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

Query per la corrispondenza esatta di una stringa in SQL

Se ho capito correttamente la domanda, vuoi abbinare "diamond" quando è una parola distinta e non fa parte di un'altra parola come "diamondville". Potresti fare qualcosa come SELECT * FROM tproduct WHERE descrizione come '% diamond %' e questo corrisponderebbe a tutti i record che hanno "diamond" circondato da spazi.

Ma non funzionerebbe. Ciò non troverebbe record in cui la descrizione inizia con "Diamante" o dove c'è una virgola o un punto dopo "Diamante"

Devi trovare una corrispondenza su un'espressione regolare. Puoi specificare i limiti delle parole con questo:

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

Vedi questa pagina per maggiori informazioni sulle espressioni regolari MySQL:http:// dev.mysql.com/doc/refman/5.1/en/regexp.html