2017-12-06 15 views
0

私はFullTextインデックスであるDocumentという列のテーブルを持っています。 レッツは、私は、この表でこれを持っていると言う:SQL Server全文検索文字を含む検索

| ID | Document     | 
| 1 | WINTER SUMMER SPRING OTHER | 

私の要件は、「ER」を含む行を見つけることです。このため

私はこのようなクエリを実行しています:

SELECT TOP 100 
    [FullTextSearch].[Document], [FullTextSearch].[ID] 
FROM 
    [FullTextSearch] 
WHERE 
    CONTAINS(Document, '"*ER*"') 

しかし、これは動作しません。

FullTextSearchを使用してこれを行うにはどうすればよいかを提案してください。

私はid 1が返されることを期待しています。

+1

使用しているdbmsにタグを付けます。そのクエリは製品固有のものです。 – jarlh

+0

@jarlh Microsoft SQL Server –

+0

期待どおりの結果が得られましたか?私はあなたのテーブル構造を理解していません。 –

答えて

0

これはワイルドカードクエリです...これはうまくいくはずです。あなたは演算子LIKE、ユーザが値を見つけることができます

SELECT TOP 100 
     [FullTextSearch].[Document], [FullTextSearch].[ID] 
    FROM 
    [FullTextSearch] 
    WHERE 
    CONTAINS(Document, '%ER%') 
0

SELECT TOP 100 
[FullTextSearch].[Document], [FullTextSearch].[ID] 
FROM 
[FullTextSearch] 
WHERE 
Document like '%ER%' 

======== OR =============。

LIKE演算子は、WHERE句で列の指定されたパターンを検索するために使用されます。

LIKE演算子と組み合わせて使用​​される二つのワイルドカードがあります

%は - 下線が単一文字

構文、

- を表すパーセント記号は、ゼロ、1つ、または複数の文字 _を表します

SELECT欄1、欄2、... FROMテーブル名 WHEREカラムN LIKEパターン;

この検索クエリは、結果を見つけるのに役立ちます。

SELECTドキュメント、IDからフルテキスト検索 ドキュメントLIKE '%ER%';