2015-10-06 116 views
-1

以下查詢是使用SQL Server 2014編寫的CONTAINS函數。CONTAINS函數在SQL Server 2014中不起作用

SELECT 
    Org1.OrganizationPK 
    ,* 
FROM Organization Org1 
WHERE Org1.Deleted = 0 
    AND CONTAINS (Org1.NAME,'"chris6*"') 
    AND org1.OrgDomainInd = 1 

但是,上面的查詢是工作。

我跟隨this article瞭解更多關於CONTAINS功能。我已經驗證了這些例子。即使在這裏,我也沒有得到任何結果。

我已驗證此post from stackoverflow,但我無法申請我的要求。

因此,我越來越懷疑我是否需要做任何更多的配置SQL Server 2014與工作CONTAINS機能的研究?請讓我知道是否有任何需要做的事情來使SQL Server 2014可以使用CONTAINS功能。 如果沒有這樣的事情,請給我解決方案。

請不要建議我使用LIKE運算符。我在說這是爲什麼,因爲我的大多數同事都認爲我是一樣的;因此,作爲一項預防性事項,我在這裏撰寫這份聲明。

我在我的日程後面運行以完成此任務。

+0

你有你在搜索欄中'全文index'?CONTAINS是在Transact-SQL SELECT語句的WHERE子句中使用的謂詞,用於**在包含基於字符的數據類型的全文索引列上執行SQL Server全文搜索。**(https://msdn.microsoft.com/china com/en-us/library/ms187787.aspx) – Pred

+0

@Pred:是的,我在所需列上有全文索引。 –

+0

在這種情況下,您可以給我們一些樣品數據和期望的輸出嗎? – Pred

回答

0

之前CONTAINS將針對您需要設置全文索引的列進行處理。這實際上是一個不同的引擎,它在SQL Server中作爲separate service運行,因此請確保它已安裝運行。
一旦你確定了組件安裝(它可能已經被安裝)你需要做到以下幾點:

  1. 創建全文目錄
  2. 建立全文索引(你可以有在同一個目錄中有多個這樣的字段)針對希望能夠使用全文關鍵字的表格/列
  3. 運行將抓取創建的索引的填充&填充目錄(這些是SQL Server需要的單獨文件保持除了mdf/ldf)

有一個關於如何通過在SQL Server 2008中使用SSMS的Pinal Dave on CodeProject來完成這個教程。 SQL Server 2014應該非常相似。 您還可以使用TSQL執行以下步驟:

  1. CREATE FULLTEXT CATALOG
  2. CREATE FULLTEXT INDEX
  3. ALTER FULLTEXT INDEX
+0

嗨尼克, 謝謝你的回答。 「代碼上的Pinal Dave」鏈接正在導航到空白頁面。你能否用適當的URL更新這個鏈接! –

0

我認爲contains功能只能用於配置爲使用/支持的表格全文搜索 - 我幾乎沒有經驗的老年人功能。如果你沒有使用全文搜索,我很肯定contains將無法​​正常工作。