Поиск любой комбинации строки в базе данных sqlite - PullRequest
1 голос
/ 09 октября 2011

Я пытаюсь создать приложение для Android, которое ищет в моей базе данных любую комбинацию символов, которую я поместил в элемент управления edittext.Например, у меня есть слово RAW, HOW и HEAD (среди множества других слов и цифр) в моей базе данных, и если я добавлю символы «HOWRADE», я хочу получить удар как по RAW, HOW, так и по HEAD, поскольку WOHAREDсуществует в строке, которую я положил в тексте редактирования.Кто-нибудь знает, можно ли это сделать с помощью SQL-запроса?Я мог бы сделать это сложным способом и сделать запрос для каждого символа в строке, но это кажется слишком сложным.Был бы очень признателен за помощь с этим, так как я больше не могу думать прямо:)

Ответы [ 2 ]

1 голос
/ 09 октября 2011

Конечно, у вас есть предложение WHERE, и вы можете использовать LIKE и подстановочные знаки, такие как%, чтобы определить, что вы ищете буквы в контексте.

Создайте базовый SQL как строку и завершите его с помощьюЗатем "WHERE" перебирайте буквы и добавляйте текст. LIKE "%" + char + "%". Убедитесь, что вы вставили OR в правильные места в SQL, а затем выполнили оператор.

По мере создания вы можете записать готовую строку, чтобы увидеть, что нужно изменить, чтобы она заработала.

Ссылка: Предложение LIKE

1 голос
/ 09 октября 2011

Не то, чтобы я знал, нет, по крайней мере, если вы просто храните список слов в виде столбца.

Даже если бы вы могли, я не уверен, что сделать это через SQL было бы лучшим способом - возможно, рассмотреть какое-то представление символов битовой карты, trie и т. Д. (Или просто сделать запросы).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...