UFN_TEXTSEARCH_SANITIZE

Return

Return Type
nvarchar(512)

Parameters

Parameter Parameter Type Mode Description
@RAWTEXT nvarchar(512) IN
@ESCAPECHAR nvarchar(1) IN
@REPLACEKNOWNMASKCHARS bit IN
@FORCECONTAINSSTYLEMASK bit IN
@RETURNNULLIFNULL bit IN

Definition

Copy


create function dbo.UFN_TEXTSEARCH_SANITIZE(
  @RAWTEXT nvarchar(512
  ,@ESCAPECHAR nvarchar(1) = null
  ,@REPLACEKNOWNMASKCHARS bit = 1
  ,@FORCECONTAINSSTYLEMASK bit = 1
  ,@RETURNNULLIFNULL bit = 0
  )
returns nvarchar(512)
with execute as caller
as begin
  if COALESCE(@RETURNNULLIFNULL,0)=0 or @RAWTEXT is not null
    begin
        set @RAWTEXT=COALESCE(@RAWTEXT,'');
      if COALESCE(@REPLACEKNOWNMASKCHARS,1)=1
        begin
          set @RAWTEXT=replace(@RAWTEXT,'*','%');
          set @RAWTEXT=replace(@RAWTEXT,'?','_');
        end
      if @ESCAPECHAR is not null
        begin
          set @RAWTEXT=replace(@RAWTEXT,@ESCAPECHAR,@ESCAPECHAR+@ESCAPECHAR);
          set @RAWTEXT=replace(@RAWTEXT,'[',@ESCAPECHAR+'[');
          set @RAWTEXT=replace(@RAWTEXT,']',@ESCAPECHAR+']');
        end
      if COALESCE(@FORCECONTAINSSTYLEMASK,1)=1 
        set @RAWTEXT='%'+@RAWTEXT+'%';
      return @RAWTEXT;
    end          
    return @RAWTEXT;
end