DBMS/MS-SQL

[MS-SQL] E-MAIL 이메일 MASKING 마스킹

랑스티비 2020. 4. 16. 18:03

▶[MS-SQL] E-MAIL 이메일 MASKING 마스킹 

 

-- 함수생성
CREATE FUNCTION [dbo].[FN_MASK_EMAIL]
(@STR VARCHAR(50)
)
RETURNS VARCHAR(50)
AS
     BEGIN
         DECLARE @RTNVALUE VARCHAR(50), @STRLEN INT, @POS INT;
         SET @POS = CHARINDEX('@', @STR);
         IF @POS = 0
             BEGIN
                 SET @RTNVALUE = @STR;
         END;
             ELSE
             BEGIN
                 IF @POS <= 2
                     BEGIN
                         SET @RTNVALUE = LEFT(@STR, 1) + '*' + SUBSTRING(@STR, @POS, 50);
                 END;
                     ELSE
                     BEGIN
                         SET @RTNVALUE = LEFT(@STR, @POS - 3) + '**' + SUBSTRING(@STR, @POS, 50);
                 END;
         END;
         RETURN @RTNVALUE;
     END;


-- 함수 결과
select DBO.FN_MASK_EMAIL('abcd@gmail.com')  -- ab**@gmail.com