The GLOB operator is used to match text values
against a pattern. If the search expression can be matched to
the pattern expression, the GLOB operator will return true (1). All non-NULL parameter
expressions will be converted to text values. GLOB is case sensitive, so
'a' GLOB 'A' is
false.
The syntax of the pattern
expression is based off common command-line wildcards, also
known as file-globbing. The * character in the pattern will match zero or
more characters in the search expression. The ? character will match exactly
one of any character, while the list wildcard ( [] ) will match exactly one
character from its set of characters. All other characters
within the pattern are taken as literals. GLOB patterns have no escape
character.
For example, the pattern
'*.xml' will match all
search expressions that end in the four characters .xml, while the pattern '??' will match any text value
that is exactly two characters long. The pattern '[abc]' will match any single
a, b, or c character.
The list wildcard allows a range
of characters to be specified. For example [a-z] will match any single
lowercase alphabetic character, while [a-zA-Z0-9] will match any single alpha-numeric
character, uppercase or lowercase.
You can match any character
except those indicated in a list by
placing a ^ at the beginning
of the list. For example, the pattern [^0-9] will match any single character except a
numeric character.
To match a literal *, ?, or [, put
them in a list wildcard; for example [*] or [[].
To match a ^ inside a list,
don’t put it first. To match (or not match) a literal ] inside a list, make it the
first character after the opening [ or [^. To
match a literal - inside a
range, make it the last character in the list.
The GLOB operator is implemented by the glob() SQL function. As such,
its behavior can be overridden by registering a new glob() function.