加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

instr()函数SQLITE for Android?

发布时间:2020-12-12 19:13:07 所属栏目:百科 来源:网络整理
导读:我想在我现有的Android上的sqlite数据库上执行以下操作,这是一种类似的构建 colomns:id — rule — path — someotherdata 现在的规则,例如包含文件名的一部分(或者只是一些简单的东西,如“mypicture”或文件类型,如“jpg”).现在我想要做的是,我想写一个查
我想在我现有的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”.

但是,这不起作用.我不太熟悉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;";

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

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");

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读