Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
Hank
64 / 55 / 5
Регистрация: 28.12.2011
Сообщений: 301
#1

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

25.04.2014, 13:43. Просмотров 1422. Ответов 13
Метки нет (Все метки)

Подскажите, имеется ли в sqlite возможность выборки данных по маске?
Например (для SQL Server), select * from words where word like '[ПР]И_'.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.04.2014, 13:43
Ответы с готовыми решениями:

SQLite и выборка по условию
SQLite не работает выборка по условию Устройство или ОС, прошивка: LG d380 ...

Выборка по датам в SQLite
Много страниц прочитал по этому вопросу, но мнения людей расходятся. Кто-то...

Выборка с базы данных SQLite
Доброго времени суток ребята. Занимаюсь простым приложением, что-то типа...

Выборка данных за последние 24 часа SQLite
Необходимо получить данные из базы SQLite за последние 24 часа. В базе одна...

Парсить строку по маске
Гуру, подскажите инструмент! Есть строка вида "фыва<asdf123>"йцук Надо...

13
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
25.04.2014, 14:27 #2
Hank, есть. Точно также будет
0
Hank
64 / 55 / 5
Регистрация: 28.12.2011
Сообщений: 301
25.04.2014, 14:37  [ТС] #3
Что-то не контачит. И ошибку в запросе не показывает и результат не дает. Если скобки убрать и написать, например, так
SQL
1
SELECT * FROM words WHERE word LIKE 'ПИ_'
то тогда работает, как будто он их за обычные символы принимает.
0
Gabberr
103 / 103 / 19
Регистрация: 13.10.2009
Сообщений: 404
25.04.2014, 14:54 #4
у меня вот так отлично работает :
Java
1
2
3
Cursor c = DBFactory.instance().doRawQuery(
                            "SELECT _id,name,lat,lon FROM places WHERE name LIKE '"
                                    + name.getText().toString() + "'");
0
Hank
64 / 55 / 5
Регистрация: 28.12.2011
Сообщений: 301
25.04.2014, 15:04  [ТС] #5
у меня вот так отлично работает :
что при этом у вас содержится в name?
0
Gabberr
103 / 103 / 19
Регистрация: 13.10.2009
Сообщений: 404
25.04.2014, 15:19 #6
Обычно однословнй руский/английский текст, не эксперементировал со спец символами
0
Hank
64 / 55 / 5
Регистрация: 28.12.2011
Сообщений: 301
25.04.2014, 15:25  [ТС] #7
В том то и дело, Gabberr, что обычный однословный текст и у меня ищет, но мне это не подходит - требуется выбор из перечня символов.
0
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
25.04.2014, 16:02 #8
Hank, ну так и используйте регулярное выражение.

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

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

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

Сам не пробовал...
0
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
05.06.2014, 18:56 #12
dubok79,
Цитата Сообщение от dubok79 Посмотреть сообщение
P.S. SQLite знает REGEXP
знает, но по умолчанию не понимает его надо как-то подключать
0
dubok79
324 / 122 / 10
Регистрация: 01.11.2012
Сообщений: 586
05.06.2014, 18:57 #13
Да , почитал уже на stackoverflow, только пока не пробовал.
0
Hank
64 / 55 / 5
Регистрация: 28.12.2011
Сообщений: 301
07.06.2014, 00:39  [ТС] #14
Цитата Сообщение от dubok79 Посмотреть сообщение
А чем вас не устраивает символ %
Символ % меня устраивает всем, но только не в рамках моей задачи, а именно - мне нужно получить из БД слова, которые можно составить из набора следующих букв, например, "АОЗЫЛУИЕНТАРЫВШ". Причем если какой-то символ в наборе присутствует несколько раз, в данном случае это буква А, то и в слове она может встречаться не более двух раз.
Возможно задача легко решается стандартными средствами SQLITE, но пока мне не удалось его воплотить в жизнь.
0
07.06.2014, 00:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.06.2014, 00:39

Выборка данных по битовой маске
Здравствуйте. У меня есть приложение, которое хранит в БД выбранные...

Выборка значений из Access по маске
Доброго времени суток, затронул вопрос работы с Базой Данных ( Access ),...

Выборка данных из БД по маске вызывает ошибку
Доброго все времени, дорогие друзья! Итак, вопрос по сути простой, но...


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

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

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