我使用searchTerm参数连接到一个freetexttable,该参数也用于查询中的许多其他freetexttable。
如果当前行中存在城市名称,我希望从该参数中删除该城市名称。尝试像这样使用replace:
freetexttable(Gigs, Name, REPLACE(@searchText, c.CityName, '')) gigkt
ON g.GigID = gigkt.[Key]导致语法错误。
有没有其他方法可以做到这一点?
发布于 2009-09-09 14:37:23
你必须首先在一个单独的查询中处理@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 https://stackoverflow.com/questions/1101555
复制相似问题