2015-02-05 24 views
1

我的要求是要能夠搜索imranSimranSimrankaur全文搜索沒有找到我的條目

我使用下面的查詢:

select Name, Len(Name) 
from Demo 
where Contains(Name, '"*imran*"') 

Demo表有Name列以下條目Simran,Simrankaur,SimranKaurKhurana但查詢返回nil。

我在哪裏做錯了?

回答

2

聽起來你想要like

select Name, Len(Name) 
from Demo 
where Name like '%imran%'; 

即使使用contains,也不能在字符串的開頭使用通配符。

+0

哦,是嗎?這回答了我的問題:)謝謝。 – Simran 2015-02-05 17:02:55

+0

然而,只是想知道,因爲它被稱爲全文搜索,真的沒有辦法在CONTAINS中使用這種類型的東西嗎? – Simran 2015-02-05 17:06:35

+0

@Simran。 。 。根據文檔(https://msdn.microsoft.com/en-us/library/ms187787.aspx),您可以搜索前綴而不是任意子字符串。 – 2015-02-05 21:47:46

1

嘗試,如果你的數據庫是不區分大小寫

select Name, Len(Name) from Demo 
where Name like '%imran%' 

請注意,根據數據庫的設置,這可能是大小寫敏感的下面, 所以這可能是更加一致:

select Name, Len(Name) from Demo 
where LOWER(Name) like '%imran%' 
+1

'Contains'是SQL服務器的本地函數 – SoulTrain 2015-02-05 16:59:21