Немного поэкспериментировал еще:
"SELECT word FROM words WHERE word REGEXP '^КАРПОВ$'"; - находит в базе слово КАРПОВ, логично
"SELECT word FROM words WHERE word REGEXP '^КАРП[О]В$'"; - вот такой запрос запись не находит, хотя кажется что в принципе все аналогично
"SELECT word FROM words WHERE word REGEXP '^КАРП[О][О]В$'"; - а вот такая запись слово КАРПОВ в базе находит.
P.S. с LIKE 'КАРП_В' все прокатывает, один символ подчеркивания - одна буква. Но мне надо именно REGEXP разобраться, запрос на самом деле сложнее нужен.
P.S.S. вот что еще вычитал в http://dev[dot]mysql[dot]com/doc/refman/[dot][dot][dot]#operator_regexp
Warning
The REGEXP and RLIKE operators work in byte-wise fashion, so they are not multi-byte safe and may produce unexpected results with multi-byte character sets. In addition, these operators compare characters by their byte values and accented characters may not compare as equal even if a given collation treats them as equal.
P.S.S.S.
сохранил файл в win1251, поля таблицы тоже, запрос:
SELECT word FROM win1251 WHERE word REGEXP '^КАРПОВ$'
выдал ошибку:
Illegal mix of collations (cp1251_general_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'regexp' (Отредактировано автором: 14 Октября, 2013 - 09:14:23)
|