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

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

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

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

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

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

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

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

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

13
YuraAAA
1581 / 1321 / 283
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
25.04.2014, 14:27 2
Hank, есть. Точно также будет
0
Hank
64 / 55 / 5
Регистрация: 28.12.2011
Сообщений: 319
25.04.2014, 14:37  [ТС] 3
Что-то не контачит. И ошибку в запросе не показывает и результат не дает. Если скобки убрать и написать, например, так
SQL
1
SELECT * FROM words WHERE word LIKE 'ПИ_'
то тогда работает, как будто он их за обычные символы принимает.
0
Gabberr
104 / 104 / 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
25.04.2014, 14:54
Hank
64 / 55 / 5
Регистрация: 28.12.2011
Сообщений: 319
25.04.2014, 15:04  [ТС] 5
у меня вот так отлично работает :
что при этом у вас содержится в name?
0
Gabberr
104 / 104 / 19
Регистрация: 13.10.2009
Сообщений: 404
25.04.2014, 15:19 6
Обычно однословнй руский/английский текст, не эксперементировал со спец символами
0
Hank
64 / 55 / 5
Регистрация: 28.12.2011
Сообщений: 319
25.04.2014, 15:25  [ТС] 7
В том то и дело, Gabberr, что обычный однословный текст и у меня ищет, но мне это не подходит - требуется выбор из перечня символов.
0
YuraAAA
1581 / 1321 / 283
Регистрация: 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
Сообщений: 319
19.05.2014, 00:00  [ТС] 9
Цитата Сообщение от YuraAAA Посмотреть сообщение
ну так и используйте регулярное выражение.
Сорри за долгий ответ. Может кто подкинет примерчик использования? Погуглил, но что-то не врубился как использовать этот механизм.
0
Hank
64 / 55 / 5
Регистрация: 28.12.2011
Сообщений: 319
04.06.2014, 16:08  [ТС] 10
Вопрос все еще актуален, поэтому выслушаю любые мысли по данной проблеме.
Нужно ли самому функцию писать или можно что-то вроде такого использовать:
SQL
1
SELECT f FROM t WHERE f REGEXP '123'
Если второе, то у меня не получилось - не знает sqlite функции REGEXP
0
dubok79
325 / 123 / 10
Регистрация: 01.11.2012
Сообщений: 586
05.06.2014, 18:52 11
А чем вас не устраивает символ %. Что вы хотите получить? Может его достаточно будет?
Обычно я пишу, например, LIKE '%ам%т%'

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

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

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

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

Выборка файлов по маске, копирует выбранный файл дважды
Добрый день. Есть такой вот метод выборки. for /r %userprofile%\Documents\ %%f in (*.doc *.docx)...


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

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

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