我正在使用 searchTerm 参数加入 freetexttable,该参数也用于查询中的许多其他 freetexttables。
如果它存在于当前行中,我想从此参数中删除城市名称。尝试像这样使用替换:
freetexttable(Gigs, Name, REPLACE(@searchText, c.CityName, '')) gigkt
ON g.GigID = gigkt.[Key]
导致语法错误。
还有其他方法可以做到这一点吗?
我正在使用 searchTerm 参数加入 freetexttable,该参数也用于查询中的许多其他 freetexttables。
如果它存在于当前行中,我想从此参数中删除城市名称。尝试像这样使用替换:
freetexttable(Gigs, Name, REPLACE(@searchText, c.CityName, '')) gigkt
ON g.GigID = gigkt.[Key]
导致语法错误。
还有其他方法可以做到这一点吗?
您首先必须在单独的查询中处理@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