一尘不染

在sqlite中搜索字段中每个单词的匹配前缀

sql

我需要编写SELECT选择行的语句,其中某些字段中任何单词的前缀都与给定模式匹配。我正在使用sqlite,但这是一个普遍的问题。
我提出了两个想法:

SELECT (...) FROM table WHERE field LIKE 'phrase%' OR field LIKE '% phrase%'

或者

SELECT (...) FROM table WHERE ' ' || field LIKE '% phrase%'

两者看起来都不那么优雅,当我一次使用更多时... OR ... LIKE ...SELECT会降低查询性能。

有办法更好地解决这个问题吗?


阅读 206

收藏
2021-05-23

共1个答案

一尘不染

一种选择是使用“全文模块”。http://www.sqlite.org/fts3.html

SELECT * FROM table WHERE field MATCH 'phrase*';
2021-05-23