Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/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
Android上的SQLite增强查询语法_Android_Sqlite_Android Sqlite_Fts3 - Fatal编程技术网

Android上的SQLite增强查询语法

Android上的SQLite增强查询语法,android,sqlite,android-sqlite,fts3,Android,Sqlite,Android Sqlite,Fts3,我有以下SQLite查询,它在我的本地机器上非常有效: SELECT * FROM ftdata WHERE ftdata MATCH 'phrase1:this AND phrase2:that' 在我的Android设备上,这似乎不像在我的桌面上那样返回相同的结果集。它在Android上返回的结果要少得多。此查询似乎在以下两个方面都返回了正确的结果: SELECT * FROM ftdata WHERE ftdata MATCH 'phrase1:this phrase2:that' 然

我有以下SQLite查询,它在我的本地机器上非常有效:

SELECT * FROM ftdata WHERE ftdata MATCH 'phrase1:this AND phrase2:that'
在我的Android设备上,这似乎不像在我的桌面上那样返回相同的结果集。它在Android上返回的结果要少得多。此查询似乎在以下两个方面都返回了正确的结果:

SELECT * FROM ftdata WHERE ftdata MATCH 'phrase1:this phrase2:that'
然而,理想情况下,我希望结合AND和OR查询,而不是被迫使用AND


Android不支持增强查询语法的某些功能吗?我在第一个实例中使用了不正确的语法吗?

不同的Android固件使用不同的语法,但FTS语法已经很长时间没有改变了

您的问题是大多数(所有?)Android供应商都没有启用增强的查询语法

您应该将自己限制为同时使用两种语法的查询。
或者,执行检查是否设置了
ENABLE\u FTS3\u括号。
。我有没有办法用MATCH做一个OR语句?即使这样也足够了。
选择。。。在何处匹配联合选择。。。其中MATCH b
,它基本上运行两个搜索,然后在临时表的帮助下将它们组合起来。@CL.您知道启用括号选项是否取决于sdk版本或设备吗?因为新的sdk版本会获得新的sqlite版本,所以它应该依赖于sdk。我不确定这是否有意义,但我想知道什么时候可以只使用增强的查询语法。@MortenHolmgaard我在回答中解释了这一点。你不明白哪句话?“你的问题是大多数(所有?)安卓供应商都没有启用增强的查询语法。”你确定发布新安卓版本时是供应商而不是谷歌吗?