如何在android sql搜索中使用[charlist]通配符

如何在android sql搜索中使用[charlist]通配符,sql,Sql,我尝试搜索以a、b或c开头的名称,因此使用了以下查询: db.rawQuery("SELECT _id, name, freq FROM dicttable WHERE name LIKE '[A,B,C]%' ORDER BY freq DESC LIMIT 0, 8", null); 它没有给出null结果或fail结果,它只给出了空值,这意味着它什么也没找到。有人能给我介绍一下这个方法吗?你不能用像这样的做那种事。您需要像这样使用GLOB: ...WHERE name GLOB

我尝试搜索以a、b或c开头的名称,因此使用了以下查询:

db.rawQuery("SELECT _id, name, freq FROM dicttable WHERE name LIKE '[A,B,C]%'
    ORDER BY freq DESC LIMIT 0, 8", null);

它没有给出null结果或fail结果,它只给出了空值,这意味着它什么也没找到。有人能给我介绍一下这个方法吗?

你不能用像这样的
做那种事。您需要像这样使用
GLOB

...WHERE name GLOB '[ABC]*' ...

*
表示任何其他名称,因此这将匹配任何以A、B或C开头的名称,并在其后面有任何其他名称。

icic,感谢您指出,尽管android不支持REGEXP,这意味着我也不能使用它,但任何其他方法都可以搜索以A/B/C开头的名称,而不使用REGEXP'^[ABC]”“我没有意识到。您也可以使用GLOB。这是一个非常相似的语法,我将编辑我的答案。它很有效,非常感谢~!顺便问一下,我能搜索一个以a/b/c和第二个单词d/e/f开头的单词吗,所以我把我的代码放在GLOB'[ABC]*''[DEF]'?我不能把你的答案作为接受答案投票,因为我的声誉不到15,对不起,这两个单词在同一个字符串中?使用
GLOB'[ABC]*[DEF]*'
,假设单词之间必须有空格。