全文検索を使用Contains
して、SQL Server 2008 R2 のレコード間を検索します。サンプルは次のとおりです。
NEWS(Title): "We", "New", "Our", "Long-Term", "Seem", "Non.Active"
テーブルにあるようにNews
、タイトル フィールドには値があります。を除くすべての値を検索できます "Long-Term" And "Non.Active"
が、ダッシュ ("-") またはドット (".") を含む単語は検索できません。また、次のヒントも確認します。
SELECT * FROM NEWS WHERE Contains(Title, 'Non.Active');
SELECT * FROM NEWS WHERE Contains(Title, 'Non Active');
SELECT * FROM NEWS WHERE Contains(Title, 'NonActive');
SELECT * FROM NEWS WHERE Contains(Title, 'Non*');
SELECT * FROM NEWS WHERE Contains(Title, 'Active');
SELECT * FROM NEWS WHERE Contains(Title, 'Non');
SELECT * FROM NEWS WHERE Contains(Title, '*Active');
SELECT * FROM NEWS WHERE Contains(Title, ' "Non.Active" ');
SELECT * FROM NEWS WHERE Contains(Title, ' "Non Active" ');
SELECT * FROM NEWS WHERE Contains(Title, ' "NonActive" ');
SELECT * FROM NEWS WHERE Contains(Title, ' "Non*" ');
SELECT * FROM NEWS WHERE Contains(Title, ' "*Active" ');
SELECT * FROM NEWS WHERE Contains(Title, ' "Active" ');
SELECT * FROM NEWS WHERE Contains(Title, ' "Non" ');
しかし、どれも結果を返しません。また、全文索引を再構築しましたが、結果は得られませんでした。
質問は次のとおりです。「。」を含む単語を検索する方法はありますか。または「-」全文Contains
述語?なにか提案を
アップデート
本当に申し訳ありませんが、主な問題は別ですか?
「non」と「Action」の2語については大丈夫です。しかし、私がテストする主なケースは「We.Our」であり、鋼は結果を返さないのですか? それは非常に配線されているので、上記の検索で「Non.Action」をテストして機能しましたが、「We.Our」は機能しません。別のレコードを試してみて、「our」を挿入しましたが、検索結果はまだ null です。問題は「私たち」という言葉についてですか?「 our 」の問題は何ですか SQL Server 2012でもチェックしましたが、うまくいきませんでした。これについて何か考えがある人はいますか?