0

我们的一位高级开发人员在执行自由文本搜索时使用“+”。我无法理解它的用途。

我试图删除他使用“+”关键字的条件,但结果没有变化。

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)

在删除条件之前尝试了解使用“/+”关键字的原因。

4

0 回答 0