I can't figure out what the underscore character does in an SQLite like
statement.
The wildcard character, %
, is probably the same as in most other SQL databases.
So, what does the _
character do?
It is standard SQL that in LIKE
expressions:
%
matches any sequence of characters, including an empty one. It is equivalent to .*
in a regular expression._
matches a single character. It is equivalent to .
in a regular expression.You can choose a character for escaping %
, _
and itself itself with:
... WHERE expr LIKE 'a_b%c\\d\%\_' ESCAPE '\'
This will match a×b×××c\d%_
or a×bc\d%_
but not abc\d%_
nor a×b×××cd%_
.
Additionnally with SQLite you have the GLOB
keyword which behaves exactly the same way, except that %
becomes *
and _
becomes ?
.