我想在我现有的 android 上的 sqlite 数据库上执行以下操作,这有点像这样的 colomns:id --- rule --- path --- someotherdata
例如,现在的规则包含文件名的一部分(可能只是一些琐碎的东西,如“mypicture”或文件类型,如“jpg”)。现在我想做的是,我想编写一个查询,它获取我的所有规则,其中包含输入字符串的一部分。我尝试了以下示例: String value = "somepicturefilename.jpg"
我的声明:
"SELECT DISTINCT * FROM " + TABLE_RULES + " WHERE instr('"+ value + "',rule)!=0 ORDER BY " + KEY_ID+ " DESC;"
该语句在java中,因此“值”应该插入语句中。
但是,这不起作用。我对sql和sqlite都不太熟悉,有没有人有提示= ;) 谢谢。
编辑:我也尝试过 charindex,但也没有用。
编辑:所以一个更详细的例子。给出了以下数据库。
id --- rule ---
1 "jpg"
2 "ponies"
3 "gif"
4 "pdf"
现在用户输入一个文件名。让我们说“poniesAsUnicorns.jpg”。所以“poniesAsUnicorns.jpg”是我的输入字符串,查询应该匹配 id#1 和 id#2 因为“poniesAsUnicorns.jpg”同时包含“jpg”和“ponies”
我希望这能澄清我想要什么。
编辑:这也是我尝试过的:
String statement = "SELECT DISTINCT * FROM " + TABLE_RULES
+ " WHERE charindex(rule,'" + value
+ "') > 0 ORDER BY " + KEY_ID + " DESC;";
但抛出“没有这样的操作”异常。