Description

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.

See Also

glob() [SQL Func, Ap E], LIKE, MATCH, REGEXP