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