1

私のクエリは以下です

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'

それの何が問題なのですか?

4

2 に答える 2

0

If you want to use the NEAR operator in such way, you should upgrade to SQL Server 2012. この構文は、2012 バージョンの新機能であるため、以前のバージョンでは使用できません。

MSDN のドキュメントを2008 バージョン2012 バージョンで比較すると、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 ] 
于 2013-03-06T08:18:37.687 に答える
0

クエリが正しくフォーマットされていません。これを使って:

select * from Test where contains (Description,'NEAR((method,system),3)')
于 2013-01-05T06:11:48.397 に答える