6

名前検索で部分一致を有効にする必要があります。現在は動作しLike '%@name%'ますが、十分ではありません。

名と名前の両方を入力できるようにする必要があり、両方を部分的に入力する必要があるため、全文を使用する方法を想定しています。

問題は、名前を部分的に一致させることができないことです。たとえば、私の名前(Fedor Hajdu)の検索は、いずれかの部分を完全に入力したが部分的には入力しなかった場合に機能します('fe ha'たとえば、の検索と一致する必要があります。

どうすればこれを達成できますか?全文索引を音節マッチングのようなことをするように設定できますか?

4

2 に答える 2

3

myaが役立つ3つのオプションをハミングします。

  1. 語形変化(リンク
  2. CONTAINS with NEAR(リンク
  3. 加重値を含むCONTAINS(リンク

それでも問題が解決しない場合は、文字列「fe ha」を取得し、すべての空白スペースに「%」を追加して、「いいね」を実行します。

Like '%fe%ha%'
于 2012-04-05T08:38:03.547 に答える
0

CONTAINS()またはCONTAINSTABLE()を使用する必要があるのは、一致する文字列の最後に*を追加することだけです。

CONTAINS(説明、'"top *"');

文字列をパラメータとして使用している場合は、次のように連結できます。

SET @SearchTerm ='"' + @NameParameter +'*"'

CONTAINS(説明、SearchTerm);

https://technet.microsoft.com/en-us/library/ms142492(v=sql.105).aspx

于 2016-10-21T22:02:49.367 に答える