AraPal
2/12/2015 - 3:50 PM

Increments a string to the next character using recursion. Examples: SELECT dbo.ufn_IncrementString('AAAHOC') RESULT: AAAHOD SELECT

Increments a string to the next character using recursion.

Examples: SELECT dbo.ufn_IncrementString('AAAHOC') RESULT: AAAHOD SELECT dbo.ufn_IncrementString('AAAHOZ') RESULT: AAAHPA SELECT dbo.ufn_IncrementString('AZZZZZ') RESULT: BAAAAA

--------------------------------------------------
-- Increments a string to the next character
-- Examples:
--		SELECT dbo.ufn_IncrementString('AAAHOC')
--			RESULT: AAAHOD
--		SELECT dbo.ufn_IncrementString('AAAHOZ')
--			RESULT: AAAHPA
--		SELECT dbo.ufn_IncrementString('AZZZZZ')
--			RESULT: BAAAAA
--------------------------------------------------
CREATE FUNCTION ufn_IncrementString (@String varchar(6))
	RETURNS varchar(6)
AS
BEGIN
    DECLARE @C smallint,@Return varchar(6)

    SELECT @C=ASCII(RIGHT(@String,1))

    IF @C=90
        SELECT @Return=dbo.ufn_IncrementString(LEFT(@String,LEN(@String)-1))+'A'
    ELSE
        SELECT @Return=LEFT(@String,LEN(@String)-1)+CHAR(@C+1)

    RETURN @Return
END