Простой способ сделать поиск по базе без учета регистра букв.

Всем привет! Сегодня столкнулся с такой проблемой, в БД MSSQL не мог сделать выборку данных без правильного регистра букв. В интернете много предложений по решению данной проблемы, я пошел, наверное по самому простому пути. А именно:

Раз я не могу обойтись без правильного регистра букв, так как использую кодировку таблиц win1251, где буква «А» и «а» два разных символа, то можно либо все буквы уменьшить или увеличить.

Я решил увеличить все буквы. В Mysql есть замечательная функция string UPPER( str string ), что она делает:

Возвращает строку str, заменив в ней все прописные буквы на заглавные.

И так к примеру у нас есть запрос:

SELECT значение FROM таблицы WHERE значение LIKE '%искомое слово или фраза%'

Добавляем к нему функцию string UPPER :

SELECT значение FROM таблицы WHERE UPPER(значение)
LIKE UPPER('%искомое слово или фраза%')

Выполняем запрос и получаем нужный нам результат. Я тестировал в СУБД MSSQL и MYSQL.

Возникнут вопросы, обращайтесь, помогу чем смогу.

29.04.2015 00:39
1236

Комментарии

Нет комментариев. Ваш будет первым!
Загрузка...