Строка поиска фильтра FreeTextTable
Я присоединяюсь к freetexttable, используя параметр searchTerm, который также используется в ряде других freetexttables в запросе.
Я хотел бы удалить название города из этого параметра, если он существует в текущей строке. Попытка использовать замену так:
freetexttable(Gigs, Name, REPLACE(@searchText, c.CityName, '')) gigkt
ON g.GigID = gigkt.[Key]
приводит к синтаксической ошибке.
Есть ли другой способ сделать это?
1 ответ
Решение
Сначала вам нужно будет обработать @SearchText в отдельном запросе, так как параметр freetext_string для FreeTextTable должен быть строковой переменной - я не думаю, что возврат к функции будет полезен, в любом случае вы хотите заменить, возможно, несколько названий городов как "с" таблица.
В приведенном ниже примере получится строка '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