在 SQLite 中搜索子字符串最有效的方法是什么?
我正在查看 LIKE 运算符。
我的想法正确吗?这对你来说效果好吗?
http://www.sqlite.org/lang_expr.html
谢谢你。
是的,使用
Like
。查询例如:
Select id from sometable where name like '%abc%'
将返回名称列中任意位置包含“abc”的任何行。
如果您要查找的模式恰好包含 % 或 _ 字符,您可以使用 ESCAPE 关键字定义转义字符以在表达式中包含该特殊字符。要查找字符串“somename%”(包括 %),它看起来像:
select id from mytable where name like '%somename\%%' escape '\'
请参阅:SQLite 语言表达式
你可以使用
LIKE
,但是如果你正在搜索的模式以'%'
开头,那么它会变得真的慢——也就是说,如果你正在寻找的子字符串不一定位于领域。
如果您需要进行此类搜索,请考虑使用 FTS3,这使得全文搜索更加高效。