Sqlite FT3或FT4可以执行类似
的操作SELECT * FROM MyTable WHERE body MATCH '*qlite'
我知道:
SELECT * FROM MyTable WHERE body MATCH 'Sqlite*'
有效,但似乎'%like'
就像操作在全文中无效。
答案 0 :(得分:3)
据我所知,这是FTS的一般限制,跨平台,后缀/后缀搜索是不可能的。
我见过的最好的解决方法是在MyTable中添加一个名为ReverseBody的列,并在其中存储Body列的反向,并将其添加到FT索引中。然后你写了像
这样的查询从MyTable中选择*,其中反向匹配(REVERSE('qlite')+'*')
我在SQL Server中工作,所以我们内置了一个REVERSE。我不认为SQLite会这样做,但你可以添加自定义函数来执行它here