Description

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.

See Also

like() [SQL Func, Ap E], case_sensitive_like [PRAGMA, Ap F], GLOB, MATCH, REGEXP