我们的一位高级开发人员在执行自由文本搜索时使用“+”。我无法理解它的用途。
我试图删除他使用“+”关键字的条件,但结果没有变化。
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)
在删除条件之前尝试了解使用“/+”关键字的原因。