Encrypt Digit To Alphabet In SQL Function

CREATE FUNCTION fnTestKeyGen(@str NVARCHAR(50))
RETURNS NVARCHAR(50)
AS BEGIN

DECLARE @result NVARCHAR(50) = ''
DECLARE @counter INT = 1, @char NVARCHAR(1) = ''

        WHILE(@counter <= LEN(@str))
BEGIN
SELECT @char = SUBSTRING(@str, @counter, 1);
IF(ISNUMERIC(@char) = 0)
BEGIN
SELECT @result = @result + @char
END
ELSE IF(@counter % 2 = 0) -- even number
BEGIN
SELECT @result = @result + Char(64 + @char + @counter) 
END
ELSE IF(@counter % 2 = 1) -- odd number
BEGIN
SELECT @result = @result + Char(64 + 26 - (@char + @counter) + 1) 
END

SELECT @counter = @counter + 1
END

RETURN @result
END

-- To test function, execute below query

select dbo.fnTestKeyGen('235679')

Post a Comment

0 Comments