全文搜索语法错误

时间:2013-01-05 06:02:08

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

我的查询在

之下
select * from Test where contains (Description,'NEAR((method,system),3')

它在SQL Server 2008中显示错误。

Syntax error near '(' in the full-text search condition 'NEAR((method,system),3'

它出了什么问题?

2 个答案:

答案 0 :(得分:0)

您尚未正确格式化查询。使用此:

select * from Test where contains (Description,'NEAR((method,system),3)')

答案 1 :(得分:0)

如果要以这种方式使用NEAR运算符,则应升级到SQL Server 2012.此语法在以前的版本中不可用,因为它是2012版本的新功能。

如果您在2008 version2012 version之间比较MSDN上的文档,您会发现2008不支持语法。

2012年语法:

<custom_proximity_term> ::= 
  NEAR ( 
     {
        { <simple_term> | <prefix_term> } [ ,…n ]
     |
        ( { <simple_term> | <prefix_term> } [ ,…n ] ) 
      [, <maximum_distance> [, <match_order> ] ]
     }
       ) 

      <maximum_distance> ::= { integer | MAX }
      <match_order> ::= { TRUE | FALSE } 

2008语法:

<proximity_term> ::= 
     { <simple_term> | <prefix_term> } 
     { { NEAR | ~ }
     { <simple_term> | <prefix_term> } 
     } [ ...n ]