如何执行SQL Server全文CONTAINS搜索' C#'

时间:2014-09-23 19:57:26

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

在SQL Server 2008 R2中,我正在对“C#”一词进行全文搜索,如下所示:

SELECT *
FROM  Book b  
WHERE CONTAINS (b.title , 'c#')

然而,全文搜索看起来像是剥离英镑符号然后执行搜索。

如果我使用通配符“喜欢”搜索,我会得到正确的结果:

SELECT *
FROM  Book b  
where title like '%c#%'

有没有办法对包含哈希/井号的术语进行全文CONTAINS搜索?

2 个答案:

答案 0 :(得分:1)

听起来全文搜索完全符合它的预期。要获得完全匹配,请将术语C#放在双引号中以更改where子句。由于完全匹配根据定义区分大小写,因此您可以使用或搜索小写和大写版本。

WHERE CONTAINS(Name, '"C#" or "c#"');

答案 1 :(得分:0)

我没有沙盒来测试这个,但你试过CHAR(35)哪个是英镑符号?您可以设置变量并将其与CHAR(35)连接,这可能有用。