1

我正在使用 searchTerm 参数加入 freetexttable,该参数也用于查询中的许多其他 freetexttables。

如果它存在于当前行中,我想从此参数中删除城市名称。尝试像这样使用替换:

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

导致语法错误。

还有其他方法可以做到这一点吗?

4

1 回答 1

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    
于 2009-09-09T14:37:23.273 回答