我的查询在
之下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'
它出了什么问题?
答案 0 :(得分:0)
您尚未正确格式化查询。使用此:
select * from Test where contains (Description,'NEAR((method,system),3)')
答案 1 :(得分:0)
如果要以这种方式使用NEAR运算符,则应升级到SQL Server 2012.此语法在以前的版本中不可用,因为它是2012版本的新功能。
如果您在2008 version和2012 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 ]