我已经做了很多研究,我认为这是一个简单的问题,但我找不到我想要的东西。我只是试图将记录作为匹配返回,只有匹配记录中文本部分的搜索词。
例如,如果用户搜索“ed”,我希望返回任何包含“ed”的记录。因此,如果名称列中有一个名为“Edward”的记录,它将作为匹配返回。如果描述中有“已完成”的记录,它也会将该记录作为匹配返回。
我已经研究过全文搜索,但不确定这是否是我需要做的事情,或者它是否会做我需要的事情。
与往常一样,我不是每个人都在寻找答案,我只是在寻找方向。
答案 0 :(得分:10)
以前从未使用过SQLite,但它是否有“LIKE”运算符?
在MySQL中,您可以执行以下操作:
SELECT name FROM list WHERE name LIKE '%ed%';
答案 1 :(得分:1)
如果您要查询内容提供商,这里有一些代码可以执行您想要的操作。如果直接查询sqlite数据库对象,则参数类似但不同。
String search = "ed";
// surround it with the SQL wildcard '%'
String q = "%" + search + "%"
Cursor c = getContentResolver().query(uri,
new String[] { column1, column2 },
"column_name like ?",
new String[] { q },
null);
该代码段将在uri
处搜索内容提供商,以查找column_name
中的字符串。