Mysql
 sql >> база данни >  >> RDS >> Mysql

Функция за търсене с гръцки знаци в MySQL

Ако можете да промените набора от знаци на вашата колона (или таблица), тогава го задайте на utf8_general_ci (връзка към ръководството ):

ALTER TABLE tbl_name CONVERT TO CHARACTER SET utf8_general_ci;

С този набор от знаци (който не е чувствителен към малки и големи букви, както е обозначено с _ci ), знаците с ударение имат еднакво тегло (стойността, използвана за съпоставяне ), така че те връщат true, когато се сравняват един с друг (връзка към ръководството ):

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)

Като алтернатива или ако не можете да промените конфигурацията на базата данни по този начин, можете да напишете функция за замяна на знаците с ударение с техните еквиваленти без ударения (т.е. é -> e ) и напишете това в специално поле за търсене (full- текстово търсене полето се препоръчва). Извършете търсене в това поле и върнете полето с ударение в приложението.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Codeigniter `where` и `or_where`

  2. mysql база данни прави падащо меню с помощта на данни, които вече са въведени в html/php

  3. Свързване на MySQL Azure с Java

  4. Работа с големи записи в приложение на Java EE

  5. MySQL - колко реда мога да вмъкна в един оператор INSERT?