Francisc Francisc - 9 months ago 45
SQL Question

SQLite Like % and _

I can't figure out what the underscore character does in an SQLite

The wildcard character,
, is probably the same as in most other SQL databases.

So, what does the damn
character do?


The underscore is also the same as in most other SQL databases and matches any single character (i.e. it is the same as . in a regular expression). From the fine manual:

An underscore ("_") in the LIKE pattern matches any single character in the string.

For example:

-- The '_' matches the single 'c'
sqlite> select 'pancakes' like 'pan_akes';
-- This would need '__' to match the 'ca', only one '_' fails.
sqlite> select 'pancakes' like 'pan_kes';
-- '___' also fails, one too many '_'.
sqlite> select 'pancakes' like 'pan___kes';

And just to make sure the results make sense: SQLite uses zero and one for booleans.