2013-11-10 3 views
0

Использование SQLite есть способ использования LIKE команды, где параметр поиска может найти результаты, которые считались бы подстроку себеВозвращение фильтруется LIKE результатов в SQLite с помощью FMDB

т.е.. параметр поиска «вкусных и вкусных фруктов и корицы». может вернуть «вкусно и вкусно» в порядке DESC по длине, так что если вкусный был также возвращенным результатом, он будет отображаться последним.

поиск «вкусные и вкусные фрукты и корицы». может вернуться ...

delicious and tasty fruit 
delicious and tasty 
delicious 
+0

Ваш вопрос не ясен. Можете ли вы указать, что вы хотите найти в одном сжатом английском предложении? – Mundi

+0

Надеюсь, что есть заявление SQLite LIKE, которое может принимать «вкусные и терпкие фрукты и корицу» и возвращать «вкусно и вкусно» –

+0

Все еще неясно. Как можно «испытать» найти что-то «вкусное»? Измените свой вопрос (а не ответьте на комманду) предложением типа «Найти все вхождения фразы A в поле DefinitionText определений, удовлетворяющих следующим условиям ...». Кроме того, напишите свой итерационный код, который вы упомянули. – Mundi

ответ

0

Вам не нужно LIKE для этого:

SELECT * FROM [foo] 
WHERE a = substr('delicious and tasty fruit and cinnamona', 1, length(a)) 
ORDER BY length(a) DESC 
+0

Есть ли способ обнаружить подстроку в середине поля? не только в начале? SELECT * FROM [Определения] WHERE DefinitionText = substr («Я люблю тебя с крючка, но разве ты не должен работать?», 12, length (DefinitionText)) ORDER BY length (DefinitionText) DESC обнаруживает «выключен» работать ", но только после того, как я изменил начальный индекс на 12, когда начальный индекс равен 1, он не поймает его. –

+0

instr (X, Y): находит первое вхождение строки Y в строке X и возвращает число предыдущих символов плюс 1 или 0, если Y нигде не найдено внутри X. – SqliteDog

Смежные вопросы