sql >> Databáze >  >> RDS >> Mysql

Dotaz na přesnou shodu řetězce v SQL

Pokud správně rozumím otázce, chcete najít výraz „diamant“, když je to odlišné slovo a není součástí jiného slova, jako je „diamondville“. Můžete udělat něco jako SELECT * FROM tproduct WHERE popis jako '% diamond %' a to by odpovídalo všem záznamům, které mají "diamant" obklopený mezerami.

Ale to by nefungovalo. To by nenašlo záznamy, kde popis začíná „Diamant“ nebo kde je za „Diamantem“ čárka či tečka

Potřebujete shodu s regulárním výrazem. Pomocí toho můžete určit hranice slov:

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

Další informace o regulárních výrazech MySQL naleznete na této stránce:http:// dev.mysql.com/doc/refman/5.1/en/regexp.html



  1. Upozornění:mysql_query():3 není platný prostředek MySQL-Link

  2. Převeďte uložený řetězec md5 na desítkovou hodnotu v MySQL

  3. Jak aktualizovat databázi mysql bez opětovného načtení stránky

  4. mysql + aktualizace top n