instr()函数SQLITE for Android?

我想在我现有的Android上的sqlite数据库上执行以下操作,这是一种类似的构建
colomns:id — rule — path — someotherdata

现在的规则,例如包含文件名的一部分(或者只是一些简单的东西,如“mypicture”或文件类型,如“jpg”).现在我想要做的是,我想写一个查询,它获取我的所有规则,其中包含inputtring的一部分.
我试过以下示例:String value =“somepicturefilename.jpg”

我的声明:

"SELECT DISTINCT * FROM " + TABLE_RULES + " WHERE instr('"+ value + "',rule)!=0 ORDER BY " + KEY_ID+ " DESC;"

语句在java中,因此应该在语句中插入“value”.

但是,这不起作用.我不太熟悉sqlsqlite,有没有人有一个提示=;)谢谢.

编辑:我也尝试过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;";

但抛出“没有这样的操作”的例外.

AFAIK instr()不可用,因此您可以使用:
select * from table where replace("poniesAsUnicorns.jpg",rule,"") != "poniesAsUnicorns.jpg";

或者对不区分大小写的匹配:

select * from table where replace(upper("poniesAsUnicorns.jpg"),upper(rule),"") != upper("poniesAsUnicorns.jpg");

相关文章

安装 在Windows上安装SQLite。 访问官网下载下Precompliled Binaries for Windows的两个压缩包。 创建s...
一、安装 下载地址:http://www.sqlite.org/download.html 将Precompiled Binaries for Windows下的包下...
实例: 会员信息管理 功能:1.查看数据库 2.清空数据库 3.增加会员 4.删除会员 5.更新会员 6.查找会员  ...
关于SQLite SQLite是一个轻量的、跨平台的、开源的数据库引擎,它的在读写效率、消耗总量、延迟时间和整...