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

Funkce vyhledávání s řeckými znaky v MySQL

Pokud jste schopni změnit znakovou sadu vašeho sloupce (nebo tabulky), nastavte ji na utf8_general_ci (odkaz na příručku ):

ALTER TABLE tbl_name CONVERT TO CHARACTER SET utf8_general_ci;

S touto znakovou sadou (nerozlišují se malá a velká písmena, jak je označeno _ci ), znaky s diakritikou mají stejnou váhu (hodnota použitá pro řazení ), takže při vzájemném porovnání vrátí hodnotu true (odkaz na příručku ):

mysql> SET NAMES 'utf8' COLLATE 'utf8_general_ci';
Query OK, 0 rows affected (0.00 sec)

mysql> SELECT 'a' = 'A', 'a' = 'À', 'a' = 'á';
+-----------+-----------+-----------+
| 'a' = 'A' | 'a' = 'À' | 'a' = 'á' |
+-----------+-----------+-----------+
|         1 |         1 |         1 |
+-----------+-----------+-----------+
1 row in set (0.06 sec)

Alternativně, nebo pokud nemůžete změnit konfiguraci databáze tímto způsobem, můžete napsat funkci, která nahradí znaky s diakritikou jejich ekvivalenty bez diakritiky (tj. é -> e ) a zapište to do vyhrazeného vyhledávacího pole (full- textové vyhledávání pole je doporučeno). Proveďte vyhledávání v tomto poli a vraťte pole s diakritikou do aplikace.




  1. Jak vytvořit databázi MySQL v cPanel

  2. Použití JDeveloper s databází MySQL a databází Oracle na AWS RDS, část 3

  3. Předání názvu sloupce jako parametru uložené proceduře v mySQL

  4. je MySql dobrý pro velké databáze?