フルテキストでは、英数字以外のすべての文字がインデックスから削除され、空白に置き換えられます .だから、あなたが持っていたので、あなたの検索では、「。」文字列では、「website」と「net」を検索しています。
これは 2 つの方法で修正できます。
元のデータを保持する場合、元のテーブルとは別に、フルテキスト データを含む別のテーブルまたは別のフィールドが必要です。
フルテキスト テーブルでは、「.」を削除できます。 " およびストア "websitenet ".
その場合、すべての「.」を削除する必要があります。クエリを実行する前に検索文字列から。 "." でクエリしたい場合は、"." を置き換える必要があります。文字列 - たとえば「ドット」。
この場合、「websitedotnet」を保存します。 ".
今回検索するときは、「.」をすべて置き換えます。クエリに「ドット」を使用してください。
FTS で検索する列を格納する新しいフィールドを使用する場合は、次のようになります。
ID 説明 DESCFTS ----------------------------------------- ------------ 1 これはウェブサイトです。これはウェブサイトですドット 2 ウェブサイトが存在します。 a website existsdot 3 go to mywebsite.net mywebsitedotnet 4 go to mywebsite.net. mywebsitedotnetdot に移動
プレ>次に、クエリ:
declare @search_client nvarchar(100) ='website'set @search_client =replace(@search_client, '.', 'dot')select * from dbo.temp where contains ((DESCFTS), @search_client) コード> プレ>