SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 16.11.2010 10:15:05

tazododu
Завсегдатай
Зарегистрирован: 24.09.2010
Сообщений: 51

Поиск целого слова и регистр

Всем привет! Есть необходимость сделать выборку со строками содержащими целое слово.
Делаю так
WHERE
(
`building`.`pp` REGEXP '[[:<:]]кирпич[[:>:]]' OR
`building`.`pp_short` REGEXP '[[:<:]]кирпич[[:>:]]' OR
`building`.`pp_keywords` REGEXP '[[:<:]]кирпич[[:>:]]'
)

но поиск ведется только с учетом регистра букв.
Подскажите пожалуйста, как можно по-другому произвести поиск целого слова в базе?

Неактивен

 

#2 16.11.2010 10:20:09

tazododu
Завсегдатай
Зарегистрирован: 24.09.2010
Сообщений: 51

Re: Поиск целого слова и регистр

Пришел к такому варианту
    (
     UCASE(`building`.`pp`) REGEXP UCASE('[[:<:]]КирпИч[[:>:]]') OR
     UCASE(`building`.`pp_short`) REGEXP UCASE('[[:<:]]КирПИЧ[[:>:]]') OR
         UCASE(`building`.`pp_keywords`) REGEXP UCASE('[[:<:]]КИрпич[[:>:]]')
    )
Выбирает правильно. Но насколько так правильно искать?

Отредактированно tazododu (16.11.2010 10:20:53)

Неактивен

 

#3 16.11.2010 13:13:39

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Поиск целого слова и регистр

Раз работает, значит, правильно smile

Тут сложно придумать другой критерий. Встроенной поддержки регулярных
выражений без чувствительности к регистру в MySQL нет: используется сторон-
няя библиотека.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson