2

SELECT * FROM table WHERE word = "רֵאשִׁית"は、指定された単語を含む結果を返しますが、異なるヘブライ語のバリアントを使用して記述された同じ単語(בְּרֵאשִׁית、בראשית、רֵאשִׁית)は無視されます。

結果にすべてを返すために、バリアント間の違いを無視する方法はありますか?

4

1 に答える 1

2

文字列を比較するために使用されるアルゴリズムは、照合と呼ばれます。

カスタム照合ルールの使用を許可するには、SQLiteのC APIを使用して独自の照合関数を登録する必要があります:http ://www.sqlite.org/c3ref/create_collat​​ion.html

Androidを使用している場合:OSは、 Unicode照合アルゴリズムUNICODEを実装するという名前の照合を登録します。これは、希望することを実行する場合と実行しない場合があります。

他のSQLiteインストールは、ICU拡張機能でコンパイルされている可能性があります。

于 2012-09-09T09:35:16.603 に答える