2013-01-05 45 views
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' 

錯誤有什麼不對呢?

+0

語法錯誤附近 '(' 的全文檢索條件 'NEAR((法系),3' – gunaa

+0

我的描述欄值如下 描述: 1)操作方法及其通訊系統 2)基於區域容量控制的方法和系統 描述字段中有兩個值。 如果我給出的值是在SQL Server 2008中使用near操作符的方法和系統,它將顯示結果爲「操作方法和通信系統」... 你能幫我嗎? – gunaa

回答

0

您還沒有正確格式化您的查詢。使用此:如果你想使用NEAR操作以這樣的方式

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

感謝您的回覆... – gunaa

+0

我已經檢查了這些查詢「select * from Test where contains(Description,'NEAR((method,system),3)')」但它又出現同樣的錯誤。 – gunaa

+0

錯誤:'('在全文搜索條件'NEAR((method,system),3)'附近出現語法錯誤' – gunaa

0

,你應該升級到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 ]