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,对于下面的查询,如何将2个LIKE运算符连接为1 从名为“abc%”或名为“%abc%”的学生中选择* 请注意“abc”之前的second like运算符中%通配符后的“”空格。对于大多数数据库,like运算符的模式匹配非常有限(特别是如果您习惯于正则表达式类型的模式匹配)。据我所知,SQLite就是符合这种描述的。没有一个像模式这样的人可以做您描述的事情。只要确保所有字符串都有该空间: SELECT * FROM students WHERE ' ' || name LIKE '% abc%'

对于下面的查询,如何将2个LIKE运算符连接为1

从名为“abc%”或名为“%abc%”的学生中选择*


请注意“abc”之前的second like运算符中%通配符后的“”空格。

对于大多数数据库,
like
运算符的模式匹配非常有限(特别是如果您习惯于正则表达式类型的模式匹配)。据我所知,SQLite就是符合这种描述的。没有一个
模式这样的人可以做您描述的事情。

只要确保所有字符串都有该空间:

SELECT * FROM students WHERE ' ' || name LIKE '% abc%';

SQLite3确实支持
REGEXP
,尽管它需要一个用户定义的函数,这在Android上是不可能的。因此,您当前的查询可能是您所能做的最好的查询。SQLite3支持
REGEXP
,它可以在一个表达式中处理OP的逻辑,但遗憾的是,这在不支持用户定义函数的Android上是不可能的。是的,我只是把注意力集中在了问题上。从实际的角度来看,这是一个更好的答案。