SQL Server全文搜索以查找包含的字符

时间:2017-12-06 09:40:03

标签: sql sql-server full-text-search

我有一个列Document的表是FullText Index。 假设我在这张表中有这个:

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

我的要求是找到包含' ER'

的行

为此,我这样查询:

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

但这不起作用。

请使用FullTextSearch建议最佳方法。

我期待id 1应该被退回。

2 个答案:

答案 0 :(得分:0)

您可以使用LIKE运算符来查找值。

在WHERE子句中使用LIKE运算符来搜索列中的指定模式。

有两个通配符与LIKE运算符一起使用:

% - 百分号表示零个,一个或多个字符 _ - 下划线表示单个字符

语法,

SELECT column1,column2,... FROM table_name WHERE columnN LIKE模式;

此查询有助于查找结果。

SELECT Document,ID FROM FullTextSearch 文件LIKE'%ER%';

答案 1 :(得分:-1)

这是一个通配符查询...这应该可行。

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

====== OR =============

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