我需要编写SELECT
语句选择行,其中来自某个字段的任何单词的前缀与给定模式匹配。我正在使用sqlite,但这是一般性的问题。
我提出了两个想法:
SELECT (...) FROM table WHERE field LIKE 'phrase%' OR field LIKE '% phrase%'
或
SELECT (...) FROM table WHERE ' ' || field LIKE '% phrase%'
两者看起来都不那么优雅,当我在一个... OR ... LIKE ...
中使用更多SELECT
时,会导致查询效果下降。
有没有办法更好地处理这个?
答案 0 :(得分:2)
一种选择是使用全文模块; http://www.sqlite.org/fts3.html
SELECT * FROM table WHERE field MATCH 'phrase*';