如何在SQLite中搜索子字符串?

时间:2010-09-08 20:48:58

标签: sql c database database-design sqlite

在SQLite中搜索子字符串的最有效方法是什么?

我正在看LIKE运算符。

我有正确的想法吗?这对你有用吗?

http://www.sqlite.org/lang_expr.html

谢谢。

3 个答案:

答案 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为基准,但是恕我直言可能会更快。