Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
yourfanat
5 / 5 / 0
Регистрация: 30.10.2013
Сообщений: 180
#1

Как сделать поиск LIKE из БД не восприимчивым к регистру? - Программирование Android

24.10.2014, 16:04. Просмотров 614. Ответов 13
Метки нет (Все метки)

Сам запрос вот -
Java
1
String sqlQuery1 = "SELECT * FROM city AS t1, region AS t2 ON t1.region_number = t2._id WHERE lower(t1.name) LIKE '%' || ? || '%';";
Нужно что б выдавался результат при вводе как маленьких, так и больших букв. Если что данные в кириллице.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.10.2014, 16:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как сделать поиск LIKE из БД не восприимчивым к регистру? (Программирование Android):

Как сделать SQL запрос не чувствительный к регистру букв, и еще один вопросов. - Delphi БД
1.как сделать ссылку на вызов клиентской почтовой программы BAT, а точнее окна Edit Mail Message c определенным адресом в edite: TO из...

Поиск чувствителен к регистру - PHP БД
Товарищи, помогите пожалуйста разобраться в проблеме. Я заблудился в трёх соснах. Пишу два простых скрипта по управлению...

Поиск чувствительный к регистру - PHP БД
Суть в следующем. Допустим я ввожу логин в поле ввода "Qwerty"? после чего нажимаю на кнопку и посылаю запрос к базе, чтобы найти строку с...

Поиск в таблице чувсвительный к регистру. - SQL Server
Пиплы хелп! В базе есть таблица, в ней поле: varchar(128). Необходимо организовать выборку с помощью LIKE, или еще как-нибудь, буду...

Поиск подстроки, нечувствительный к регистру - C++ Builder
Есть ли встроенные функции для поиска подстроки в AnsiString, нечувствительный к регистру (т.е. строчные и прописные буквы считаются...

1C 8.x Запрос к регистру накопления и регистру сведенй - 1С
как не используя СКД в 1 запросе получить запись из Регистра сведений на момент записи регистра накопления? конкретнее нужна себестоимость...

13
chizz
981 / 498 / 54
Регистрация: 19.03.2013
Сообщений: 3,094
Записей в блоге: 18
Завершенные тесты: 1
24.10.2014, 16:10 #2
yourfanat, там с кириллицей жопа какая-то. Я сделал у себя, потом гляну - отвечу.
0
yourfanat
5 / 5 / 0
Регистрация: 30.10.2013
Сообщений: 180
24.10.2014, 16:16  [ТС] #3
Ок, спасибо) Данные нормально выводяться, нужно их сделать только невосприимчевыми к регистру)
0
chizz
981 / 498 / 54
Регистрация: 19.03.2013
Сообщений: 3,094
Записей в блоге: 18
Завершенные тесты: 1
24.10.2014, 16:24 #4
yourfanat, вот в этом то и жопка

http://androidforums.ru/topic/1423-s...2%D1%80%D1%83/
0
YuraAAA
1578 / 1319 / 271
Регистрация: 25.10.2009
Сообщений: 3,437
Записей в блоге: 2
24.10.2014, 17:31 #5
yourfanat, chizz, сделайте ещё колонку одну, назовите ещё namelc (name lower case сокращённо), записывайте туда всегда toLowerCase() и ищите по этому полю в lower case.
1
chizz
981 / 498 / 54
Регистрация: 19.03.2013
Сообщений: 3,094
Записей в блоге: 18
Завершенные тесты: 1
24.10.2014, 17:33 #6
YuraAAA, проблема в функции toLowerCase(). Перед тем как ее вызывать нужно текст конвертировать в utf-8 вроде (если он был в другой кодировке)
0
yourfanat
5 / 5 / 0
Регистрация: 30.10.2013
Сообщений: 180
12.11.2014, 15:12  [ТС] #7
Колонку создал, а как туда записать то значения маленькми буквами? lower() не работает, т.к. кирилица...
0
Spelcrawler
528 / 498 / 111
Регистрация: 12.03.2014
Сообщений: 1,663
Завершенные тесты: 1
12.11.2014, 15:14 #8
Писали ведь:
Цитата Сообщение от chizz Посмотреть сообщение
Перед тем как ее вызывать нужно текст конвертировать в utf-8 вроде (если он был в другой кодировке)
0
yourfanat
5 / 5 / 0
Регистрация: 30.10.2013
Сообщений: 180
12.11.2014, 15:18  [ТС] #9
база данных и так в utf-8
0
CoolMind
421 / 404 / 65
Регистрация: 06.10.2012
Сообщений: 1,734
12.11.2014, 15:22 #10
Тоже месяц назад столкнулся с этой проблемой. Тоже собираюсь сделать дополнительные поля. Не совсем понял про кириллицу. В Java преобразование выглядит так:
Java
1
2
Locale locale = Locale.getDefault();
String s2 = s.toLowerCase(locale);
0
yourfanat
5 / 5 / 0
Регистрация: 30.10.2013
Сообщений: 180
12.11.2014, 15:33  [ТС] #11
Можете поподробнее - где это преобразование делать в java?
У меня есть запрос к БД -
SQL
1
String SearchResult = "SELECT * FROM city AS t1, region AS t2 ON t1.region_number = t2._id WHERE t1.name LIKE '%' || ? || '%';";
На основе него я получаю Cursor, который и использую для вывода результата поиска.
на какой стадии делать преобразование?
0
CoolMind
421 / 404 / 65
Регистрация: 06.10.2012
Сообщений: 1,734
12.11.2014, 15:55 #12
yourfanat, на этапе создания (наполнения) БД. Дело в том, что SQLite не умеет преобразовывать в нижний регистр. Поэтому вам придётся делать дополнительные поля, в которые будете вставлять данные. Придётся делать не SQL-запрос, а циклом делать update с преобразованием полей.
0
yourfanat
5 / 5 / 0
Регистрация: 30.10.2013
Сообщений: 180
12.11.2014, 15:58  [ТС] #13
Кашмар))) Нужно попробовать) Спасибо)
0
chizz
981 / 498 / 54
Регистрация: 19.03.2013
Сообщений: 3,094
Записей в блоге: 18
Завершенные тесты: 1
12.11.2014, 21:19 #14
база данных и так в utf-8.

Так в том то и дело.

База то да. А при insert какой текст в неё пишется, в какой кодировке?
0
12.11.2014, 21:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2014, 21:19
Привет! Вот еще темы с ответами:

1C 8.x Нужно сделать проверку по регистру сведений на наличие - 1С
Есть обработка для установки (дописанной) характеристики номенклатуры (установить архивный), нужно сделать проверку по регистру сведений,...

Сделать, чтобы при вводе имени запрос не был чувствителен к регистру - Oracle
Хочу задать вопрос, чтобы при вводе имени запрос не был чувствителен к регистру. То есть он мог написать "кончита", "Кончита", "КоНчИтА" и...

Как запрос преобразовать к нижнему регистру? - PHP
Есть html код, где клиент пишет ответ <form action="ridles.php" method="GET"> <p>В городе - двенадцать базаров, на каждом базаре -...

Как убрать чувствительность к регистру символов в работе с SQL - C++ Qt
Всем привет! Работаю в своем QT проекте с SQL. Пользователь вводит фамилию и по ней идет извлечение из базы данных. Но иногда фамилия...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru