2011-12-26 23 views
4

がFT3やFT4がsqliteの全文ワイルドカード検索

SELECT * FROM MyTable WHERE body MATCH '*qlite' 

ような何かをSQLiteのことができます私はこれを知っています。

+1

本文列の内容がqliteで終わる単語があれば、行を返すようクエリに求めていますか? – TetonSig

答えて

3

一般的に、プラットフォーム間でFTSの制限があると私は理解しているので、接尾辞/接尾辞の検索はできません。

私が見てきた最良の回避策は、ReverseBodyという名前のMyTableに列を追加し、そこにBody列の逆を保存し、FTインデックスにも追加することです。そして、あなたはとても私たちが建てREVERSEを持って、私はSQL Serverで動作し

ようなクエリがreversebody試合(REVERSE( 'qlite')+ '*')MyTableというSELECT * FROM書く。私は考えていませんSQLiteはこれを行いますが、カスタム関数を追加してそれを行うことができますhere

+0

この戦略の主な問題は、フレーズの途中にあるワイルドカードも見つからないことです。たとえば、「ファーストネーム」の「*名前*」。 –