2017-05-13 51 views
0

我正在嘗試在p1005字符串中搜索1005,但沒有找到任何結果。在長連續詞之間搜索SQL Server全文

我已經使用查詢:

SELECT * 
FROM Products 
WHERE CONTAINS (Name, '"*1005*"') 

SELECT * 
FROM Products 
WHERE CONTAINS (Name, '1005') 

SELECT * 
FROM Products 
WHERE FREETEXT (Name, '"1005"') 

有沒有一種方法來搜索詞之間的詞嗎?

回答

0

我不一定是一個非常熟練的SQL DBA,但似乎只能執行使用CONTAINS的前綴搜索,例如當您想在單詞內搜索時。例如,以下查詢將起作用:

USE MyDb; 
GO 
SELECT Name 
FROM myDb.Places 
WHERE CONTAINS(Name, ' "Chain*" '); 
GO 

....但您需要的那個將不起作用,因爲它是後綴搜索。

SELECT * FROM Products WHERE CONTAINS(Name,' "*1005" ') 

我會嘗試重構這個使用LIKE運算符。如果有人有另一個想法,我也很樂意找到答案。

+0

CONTAINS(名稱,'* 1005')不起作用 –

+0

我已經更新了它。請仔細看一下。它應該是(名稱,'「* 1005'')所以首先'然後'然後*然後搜索字詞然後'然後' – Dan

+0

(名稱,'」* 1005「')也不起作用 –