Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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 - Fatal编程技术网

Android SQLite定位

Android SQLite定位,android,sqlite,Android,Sqlite,好的,我现在意识到我的问题太短了,所以我会尽力的 MySQL的结构化查询语言有一个函数 LOCATE(substr,str) 这样可以将searchquery限制为仅出现在特定位置(例如结果字符串的开头)的子字符串。例如: SELECT * FROM `mytable` WHERE REPLACE('searchstring', `mytable`.`columnname`, '') != 'searchstring' AND LOCATE(`mytable`.`columnname`,

好的,我现在意识到我的问题太短了,所以我会尽力的

MySQL的结构化查询语言有一个函数

LOCATE(substr,str) 
这样可以将searchquery限制为仅出现在特定位置(例如结果字符串的开头)的子字符串。例如:

SELECT * FROM `mytable` 
WHERE REPLACE('searchstring', `mytable`.`columnname`, '') != 'searchstring' 
AND LOCATE(`mytable`.`columnname`, 'searchstring') = 1;

通过这样做,我告诉MySQL只查询我正在搜索的子字符串出现在所述字符串开头的结果。我想知道,既然安卓SQLite似乎不支持定位,那么如何使用安卓SQLite实现这一点呢。我还查看了POSITION,它在Android上也不可用

恐怕没有直接的SQLite等价物用于
LOCATE
。但是,您可以使用类似于的
来获得过滤器的等价物:

SELECT * FROM mytable
WHERE mytable.columnname LIKE 'searchstring' || '%';

这里,我使用连接(<代码> > <代码> >来追加通配符<代码> %,这样您就可以使用一个变量来代替<代码>搜索字符串,并且不用担心每次都将格式格式化为通配符。

请考虑添加一些更详细的内容,如您目前所做的研究,您编写的任何代码。(如果您已经编写了日志,那么是否存在任何错误,如果错误发布日志)。不要只写一行语句来表达您的想法,这是非常详细的。在MySQL中,有一些函数可以检查字符串中第一次出现的子字符串,例如LOCATE。在SQLite for Android中,这个函数不存在。我想知道可以用什么来代替。我不太确定这段代码>替换
逻辑。也许你不需要像那样的逻辑。同样,像这样的方法也可以在MySQL中使用。