Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在sqlite数据库中搜索字符串的任意组合_Java_Android_Sqlite - Fatal编程技术网

Java 在sqlite数据库中搜索字符串的任意组合

Java 在sqlite数据库中搜索字符串的任意组合,java,android,sqlite,Java,Android,Sqlite,我正在尝试制作一个android应用程序,在我的数据库中搜索我在edittext控件中输入的任何字符组合。 例如,我的数据库中有单词RAW、HOW和HEAD(在许多其他单词和数字中),如果我输入字符“HOWRADE”,我想同时输入RAW、HOW和HEAD,因为我在edittext中输入的字符串中存在一个rd。 有人知道这是否可以通过sql查询完成吗?我可以用很难的方法来查询字符串中的每个字符,但这似乎太复杂了。我真的很感激你能帮我解决这个问题,因为我再也不能直接思考了:)我不知道,不,至少如果你

我正在尝试制作一个android应用程序,在我的数据库中搜索我在edittext控件中输入的任何字符组合。 例如,我的数据库中有单词RAW、HOW和HEAD(在许多其他单词和数字中),如果我输入字符“HOWRADE”,我想同时输入RAW、HOW和HEAD,因为我在edittext中输入的字符串中存在一个rd。
有人知道这是否可以通过sql查询完成吗?我可以用很难的方法来查询字符串中的每个字符,但这似乎太复杂了。我真的很感激你能帮我解决这个问题,因为我再也不能直接思考了:)

我不知道,不,至少如果你只是将单词列表存储为一列的话


即使你可以,我不确定通过SQL来做它是最好的方法——也许考虑一些位图字符表示,TIE等等(或者只是做查询)。当然,P>当然,你有WHERE子句,你可以使用类似的和通俗的卡片,比如%来定义你在上下文中寻找字母。< /P> 将基本SQL构建为字符串,并以“WHERE”结束 然后遍历这些字母并添加“%”+char+“%”之类的文本 确保在SQL中的正确位置输入OR,然后执行该语句

在构建它的过程中,您可能需要记录完成的字符串,以查看需要更改哪些内容才能使其正常工作

参考:

+1表示位图的想法。将每个单词转换成一个按位散列,然后使用它进行查询。(正如Pyrodante所说,如果你建立了一个通配符喜欢的字符串,你可以这样做;如果这是一个问题,我会检查性能。)谢谢。我想这是唯一“简单”的方法。查询变得非常长,但执行速度非常快。我确信位图的想法更好,但我没有时间进一步研究它。谢谢大家的帮助!