Регистронезависимый поиск на SQL

Записи и примечания на тему HTML, CSS, PHP, JScript

Регистронезависимый поиск на SQL

» » Сообщение:

Обычно, если не использовать специальных инструментов, то в базе данных сравнение строк будет регистро-зависимым. Так при запросе:

php Код: Выделить всё Развернуть
SELECT * FROM TableName WHERE name LIKE '%Wenegred%'

Будут выдаваться лишь те записи, в которых буква W была большой, а все остальные буквы должны были быть в нижнем регистре, то бишь получим только строго соответствующие записи.
Однако, чтобы произвести регистронезависимый поиск и получить все результаты для Wenegred, WENEGRED, wenegred, wEnEgrEd и так далее, нужно выполнить следующий запрос:

php Код: Выделить всё Развернуть
SELECT * FROM TableName WHERE name LIKE '%Wenegred%' COLLATE utf8_general_ci

Или сменить кодировку полей на utf8_general_ci
---

Как костыль:

php Код: Выделить всё Развернуть
upper(`name`) LIKE upper('%Wenegred%')
php Код: Выделить всё Развернуть
SELECT * FROM TableName WHERE upper(`name`) LIKE upper('%Wenegred%')



Похожие темыКомментарии ПросмотрыПоследнее сообщение
0253Поиск слова в строке и вывод части ...
Сообщение от: Admin
01191Операторы шаблонов и системные коды...
Сообщение от: Admin
11677Re: Скрипт быстрый поиск по entery ...
Сообщение от: Admin
8360Re: Квадратные скобки модуля Поиск ...
Сообщение от: kinouser
0487Разрешаем поиск для Новые сообщения...
Сообщение от: Admin