SQLite 字符串包含其他字符串查询

我该怎么做?

例如,如果我的列是“猫、狗、鸟”,并且希望获得包含猫的任何行?

154505 次浏览

使用 LIKE:

SELECT *
FROM TABLE
WHERE column LIKE '%cats%'  --case-insensitive

虽然 LIKE适合这种情况,但是更通用的解决方案是使用 instr,它不需要转义搜索字符串中的字符。注: instr可以从 Sqlite 3.7.15开始使用

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

另外,请记住,LIKE是 case-麻木不仁,而 instr是 case-敏感