为什么我们需要SQLite中的GLOB子句?

时间:2014-06-18 08:43:00

标签: sql sqlite android-sqlite glob sql-like

我是Android开发人员,最近在SQLite中遇到了GLOB子句。我不明白为什么我们需要GLOB,因为LIKE已经到位。

两个子句都有通配符来表示单个和多个字符。唯一的区别是GLOB区分大小写。

但这就是全部吗? LIKE是一个不好或不恰当的选择吗?是否有任何情况我们绝对必须使用GLOBE vs LIKE,反之亦然?

1 个答案:

答案 0 :(得分:19)

区分大小写本身很有用,因为这对普通索引更有效。

此外,GLOB支持字符类:

  

全球规则:

     

*匹配零个或多个字符的任何序列。

     

?只匹配一个字符。

     

[...]匹配附带的字符列表中的一个字符。

     

[^...]匹配不在随附列表中的一个字符。

     

[...][^...]匹配,可以包含]个字符   在列表中,将其设为[^之后的第一个字符。一个   可以使用-指定字符范围。例:   [a-z]匹配任何单个小写字母。要匹配-,请制作   它是列表中的最后一个字符。