我们的一位高级开发人员在执行自由文本搜索时使用“ +”。我不明白它的用法。
我尝试删除使用“ +”关键字的条件,但结果没有变化。
declare @SearchText varchar(100) = 'jack banks'
set @SearchText = REPLACE(LTRIM(RTRIM(@SearchText)), ' ', ' and ')
DECLARE @sText VARCHAR(50) = (CASE WHEN @searchText <> '' THEN '"' + @searchText + '*"' ELSE @searchText END)
DECLARE @FreeText VARCHAR(50) = (CASE WHEN @searchText <> '' THEN '"'+ @searchText +'\+"' ELSE @searchText END)
select @SearchText,@sText,@FreeText
select * from ServiceProvider as sp where
Contains(*, @searchText)
OR
CONTAINS(SP.FirstName,@SText)
OR CONTAINS(SP.FirstName,@FreeText)
OR CONTAINS(SP.LastName,@SText) OR CONTAINS(SP.LastName,@FreeText)
在删除条件之前,试图了解为什么使用“ / +”关键字。