Форум программистов, компьютерный форум CyberForum.ru

Sqlite выборка по маске - Android

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
Hank
42 / 33 / 2
Регистрация: 28.12.2011
Сообщений: 210
25.04.2014, 13:43     Sqlite выборка по маске #1
Подскажите, имеется ли в sqlite возможность выборки данных по маске?
Например (для SQL Server), select * from words where word like '[ПР]И_'.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.04.2014, 13:43     Sqlite выборка по маске
Посмотрите здесь:

Выборка по датам в SQLite Android
ListView и SQLite Android
Выборка с базы данных SQLite Android
Картинка в SQLite Android
ID в SQLite генерятся не с 0 а с 1; Android
Android Глюк SQLite?
AsyncTask и SQLite Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YuraAAA
 Аватар для YuraAAA
1563 / 1305 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
25.04.2014, 14:27     Sqlite выборка по маске #2
Hank, есть. Точно также будет
Hank
42 / 33 / 2
Регистрация: 28.12.2011
Сообщений: 210
25.04.2014, 14:37  [ТС]     Sqlite выборка по маске #3
Что-то не контачит. И ошибку в запросе не показывает и результат не дает. Если скобки убрать и написать, например, так
SQL
1
SELECT * FROM words WHERE word LIKE 'ПИ_'
то тогда работает, как будто он их за обычные символы принимает.
Gabberr
 Аватар для Gabberr
101 / 101 / 17
Регистрация: 13.10.2009
Сообщений: 402
25.04.2014, 14:54     Sqlite выборка по маске #4
у меня вот так отлично работает :
Java
1
2
3
Cursor c = DBFactory.instance().doRawQuery(
                            "SELECT _id,name,lat,lon FROM places WHERE name LIKE '"
                                    + name.getText().toString() + "'");
Hank
42 / 33 / 2
Регистрация: 28.12.2011
Сообщений: 210
25.04.2014, 15:04  [ТС]     Sqlite выборка по маске #5
у меня вот так отлично работает :
что при этом у вас содержится в name?
Gabberr
 Аватар для Gabberr
101 / 101 / 17
Регистрация: 13.10.2009
Сообщений: 402
25.04.2014, 15:19     Sqlite выборка по маске #6
Обычно однословнй руский/английский текст, не эксперементировал со спец символами
Hank
42 / 33 / 2
Регистрация: 28.12.2011
Сообщений: 210
25.04.2014, 15:25  [ТС]     Sqlite выборка по маске #7
В том то и дело, Gabberr, что обычный однословный текст и у меня ищет, но мне это не подходит - требуется выбор из перечня символов.
YuraAAA
 Аватар для YuraAAA
1563 / 1305 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
25.04.2014, 16:02     Sqlite выборка по маске #8
Hank, ну так и используйте регулярное выражение.

SQL
1
WHERE x REGEXP <regex>
Gabberr, кстати, на всякий случай, LIKE является case insensetive для латинских символов, но case sensetive для русских.

Добавлено через 46 секунд
http://www.sqlite.org/lang_expr.html
Hank
42 / 33 / 2
Регистрация: 28.12.2011
Сообщений: 210
19.05.2014, 00:00  [ТС]     Sqlite выборка по маске #9
Цитата Сообщение от YuraAAA Посмотреть сообщение
ну так и используйте регулярное выражение.
Сорри за долгий ответ. Может кто подкинет примерчик использования? Погуглил, но что-то не врубился как использовать этот механизм.
Hank
42 / 33 / 2
Регистрация: 28.12.2011
Сообщений: 210
04.06.2014, 16:08  [ТС]     Sqlite выборка по маске #10
Вопрос все еще актуален, поэтому выслушаю любые мысли по данной проблеме.
Нужно ли самому функцию писать или можно что-то вроде такого использовать:
SQL
1
SELECT f FROM t WHERE f REGEXP '123'
Если второе, то у меня не получилось - не знает sqlite функции REGEXP
dubok79
 Аватар для dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
05.06.2014, 18:52     Sqlite выборка по маске #11
А чем вас не устраивает символ %. Что вы хотите получить? Может его достаточно будет?
Обычно я пишу, например, LIKE '%ам%т%'

Добавлено через 5 минут
P.S. SQLite знает REGEXP
P.S.S Тут сказано как пользовать и про ошибку вашу тоже написано.

Сам не пробовал...
YuraAAA
 Аватар для YuraAAA
1563 / 1305 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
05.06.2014, 18:56     Sqlite выборка по маске #12
dubok79,
Цитата Сообщение от dubok79 Посмотреть сообщение
P.S. SQLite знает REGEXP
знает, но по умолчанию не понимает его надо как-то подключать
dubok79
 Аватар для dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
05.06.2014, 18:57     Sqlite выборка по маске #13
Да , почитал уже на stackoverflow, только пока не пробовал.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.06.2014, 00:39     Sqlite выборка по маске
Еще ссылки по теме:

Android Выборка данных за последние 24 часа SQLite
Категории в SQLite Android
Android SQLite и выборка по условию
Парсить строку по маске Android
Android Не создается DB SQLite

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

Или воспользуйтесь поиском по форуму:
Hank
42 / 33 / 2
Регистрация: 28.12.2011
Сообщений: 210
07.06.2014, 00:39  [ТС]     Sqlite выборка по маске #14
Цитата Сообщение от dubok79 Посмотреть сообщение
А чем вас не устраивает символ %
Символ % меня устраивает всем, но только не в рамках моей задачи, а именно - мне нужно получить из БД слова, которые можно составить из набора следующих букв, например, "АОЗЫЛУИЕНТАРЫВШ". Причем если какой-то символ в наборе присутствует несколько раз, в данном случае это буква А, то и в слове она может встречаться не более двух раз.
Возможно задача легко решается стандартными средствами SQLITE, но пока мне не удалось его воплотить в жизнь.
Yandex
Объявления
07.06.2014, 00:39     Sqlite выборка по маске
Ответ Создать тему
Опции темы

Текущее время: 04:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru