[sql] SQLite string contains other string query

How do I do this?

For example, if my column is "cats,dogs,birds" and I want to get any rows where column contains cats?

This question is related to sql sqlite

The answer is


While LIKE is suitable for this case, a more general purpose solution is to use instr, which doesn't require characters in the search string to be escaped. Note: instr is available starting from Sqlite 3.7.15.

SELECT *
  FROM TABLE  
 WHERE instr(column, 'cats') > 0;

Also, keep in mind that LIKE is case-insensitive, whereas instr is case-sensitive.