2009-07-09 14 views
1

私は、クエリの他の多くのフリーテキストテーブルでも使用されているsearchTermパラメータを使用してフリーテキストテーブルに参加しています。FreeTextTableフィルタ検索文字列

このパラメータが現在の行に存在する場合は、このパラメータから都市名を削除します。このように置換しようとしています:

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

構文エラーが発生します。

私はこれを行うことができる他の方法はありますか?

答えて

1

FreeTextTableのfreetext_stringパラメータは文字列変数でなければならないため、最初に別のクエリで@SearchTextを処理する必要があります - 私は関数の返り値が変わるとは思わないおそらく複数の都市名は '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