我是Android开发人员,最近在SQLite中遇到了GLOB子句。我不明白为什么我们需要GLOB,因为LIKE已经到位。
两个子句都有通配符来表示单个和多个字符。唯一的区别是GLOB区分大小写。
但这就是全部吗? LIKE是一个不好或不恰当的选择吗?是否有任何情况我们绝对必须使用GLOBE vs LIKE,反之亦然?
答案 0 :(得分:19)
区分大小写本身很有用,因为这对普通索引更有效。
此外,GLOB支持字符类:
全球规则:
*
匹配零个或多个字符的任何序列。
?
只匹配一个字符。
[...]
匹配附带的字符列表中的一个字符。
[^...]
匹配不在随附列表中的一个字符。
[...]
和[^...]
匹配,可以包含]
个字符 在列表中,将其设为[
或^
之后的第一个字符。一个 可以使用-
指定字符范围。例:[a-z]
匹配任何单个小写字母。要匹配-
,请制作 它是列表中的最后一个字符。