答案 0 :(得分:41)
Yepper,使用Like。 Select id from sometable where name like '%omm%'
会返回名称列中任何位置都有'omm'的行。
答案 1 :(得分:12)
您可以使用LIKE
,但如果您要搜索的模式以'%'
开头,则真的慢 - 即,如果您要查找的子字符串不一定在字段的开头。
如果您需要进行此类搜索,请考虑使用FTS3,这样可以提高全文搜索的效率。
答案 2 :(得分:0)
自从问及回答问题以来,已经过去了多年。2012年,SQLite版本3.7.15引入了一个函数instr( string, substring)
-返回字符串中子字符串的位置,如果找不到,则返回0。 (https://www.techonthenet.com/sqlite/functions/instr.php)
sqlite> SELECT instr('TechOnTheNet.com','T');
结果:1
我尚未以LIKE
为基准,但是恕我直言可能会更快。