2012-03-21 53 views
1

我正在研究一个具有数据库的android应用程序,其中一列被称为“名称”。 我从用户那里接收到一个搜索词的字符串,并且我需要对数据库中的每一行运行检查,检查“名称”列是否包含该搜索词。在基于子串的数据库中过滤数据库结果

即如果我在名称列中有一行带有“skyrim”,并且搜索项是“sky”,我需要该skyrim行将返回到由查询产生的游标中(以及任何其他包含子字符串“天空”在他们的“名称”列下)。

我试图获取所有的行,然后遍历它们与Java测试,看看是否名称中使用包含子“包含”字符串的方法,但后来意识到我无法从游标删除行...

所以我想这只留下我在sql查询方法本身做的测试,任何指针如何做到这一点?

回答

1

简单的解决办法是让你的查询是这样的:

SELECT * FROM table_name WHERE name LIKE '%sky%'; 

这在MySQL中是不区分大小写也是如此。

+0

非常感谢。这样做的窍门 - 只需使用db.query的db.rawQuery方法与您发布的那一行相关联。你太棒了。 – Rani 2012-03-21 23:46:20