• Imprimir

Esta função recebe 3 parâmetros

1. String a ser Mascarada

2. Quantidade de string não mascarada no prefixo da string

3. Quantidade de string não mascarada no sufixo da string 

Esta função é extremamente rápida em um update, e dependendo da loucura que você queira fazer talvez seja necessário utilizar a função cast ou convert .

Lembrando que esta função foi projetada para campos tipo string não vai dar certo com campo tipo numero ou data. né........ 

 

-- DROP FUNCTION [dbo].[MASK_CAMP]

 CREATE FUNCTION [dbo].[MASK_CAMP]

(

      @TEXTO VARCHAR(MAX),

 @Prefixo_String INT,

      @Sufixo_String INT  

)

RETURNS VARCHAR(MAX)

AS

BEGIN

   DECLARE @String VARCHAR(MAX)

   DECLARE @Meio_String INT

   SET @String=LTRIM(RTRIM(@TEXTO))

   SET @Meio_String=@Prefixo_String+@Sufixo_String   

   IF LEN(@String)<=@Meio_String       

   BEGIN

        SET @String= REPLICATE('x',LEN(@String))       

   END

   ELSE IF LEN(@String)>@Meio_String       

   BEGIN

        SET @String=LEFT(@String, @Prefixo_String)+REPLICATE('x',LEN(@String)-@Meio_String)+RIGHT(@String, @Sufixo_String)   

   END

RETURN @String 

END