The LIKE operator is used to match text values
against a pattern. If the search expression can be matched to
the pattern expression, the LIKE operator will return true (1). All non-NULL parameter
expressions will be converted to text values. LIKE is a standardized SQL
operator.
By default, LIKE is not case sensitive, so
'a' LIKE 'A' is true.
However, this case-insensitivity only applies to standard 7-bit
ASCII characters. By default, LIKE is not Unicode aware. See ICU Internationalization Extension for more info. The case
sensitivity of LIKE can be
adjusted with the PRAGMA
case_sensitive_like.
The LIKE pattern syntax supports two wildcards. The
% character will match
zero or more characters, while the _ character will match exactly one. All other
characters in the pattern will be taken as literals. A literal
% or _ can be matched by proceeding
it with the character defined in the optional escape expression.
The first character of this expression will be used as the
escape character. There is no default escape character (in
specific, the C-style \
character is not a default).
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. It is not possible to match
a literal % or _ without defining an escape
character.
The LIKE operator is implemented by the like() SQL function. As such,
its behavior can be overridden by registering a new like() function.