Задавайте вопросы, мы ответим
Вы не зашли.
Всем привет! Есть необходимость сделать выборку со строками содержащими целое слово.
Делаю так
WHERE
(
`building`.`pp` REGEXP '[[:<:]]кирпич[[:>:]]' OR
`building`.`pp_short` REGEXP '[[:<:]]кирпич[[:>:]]' OR
`building`.`pp_keywords` REGEXP '[[:<:]]кирпич[[:>:]]'
)
но поиск ведется только с учетом регистра букв.
Подскажите пожалуйста, как можно по-другому произвести поиск целого слова в базе?
Неактивен
Пришел к такому варианту
(
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)
Неактивен
Раз работает, значит, правильно
Тут сложно придумать другой критерий. Встроенной поддержки регулярных
выражений без чувствительности к регистру в MySQL нет: используется сторон-
няя библиотека.
Неактивен