2009-07-09 119 views
1

我正在使用searchTerm參數加入到freetexttable中,該參數也用於查詢中的許多其他freetexttables。FreeTextTable過濾器搜索字符串

我想從該參數中刪除城市名稱(如果它存在於當前行中)。試圖使用像這樣的替換:

freetexttable(Gigs, Name, REPLACE(@searchText, c.CityName, '')) gigkt 
ON g.GigID = gigkt.[Key] 

導致語法錯誤。

有沒有其他辦法可以做到這一點?

回答

1

您將首先必須在單獨的查詢中處理@SearchText,因爲FreeTextTable的freetext_string參數必須是字符串變量 - 我不認爲函數的返回值會執行,無論如何,您要替換可能多個城市名稱爲'c'是一個表格。

下面的例子將導致字符串 'ABC ABC ABC'

declare @T table 
(
    name varchar(20) 
) 

insert into @T(name) values('belfast') 
insert into @T(name) values('armagh') 

declare @name varchar(100) 

select @Name = 'abc belfast abc armagh abc' 

select 
    @Name = replace(@Name, t.Name, '') 
from 
    @T as t 


select @Name