• bitbucket-25253 (1/25/2013)


    Here is another method .... not efficient .... not recommended ... but it does what you seem to need to do.

    DECLARE @BegYr INT = 2013

    DECLARE @EndYr INT = 2015

    DECLARE @E INT

    DECLARE @a VARCHAR(10)

    DECLARE @Z VARCHAR(10)

    SET @E = @BegYr

    SET @Z = (SELECT SUBSTRING(CAST(@E AS VARCHAR(4)),LEN(CAST(@E AS VARCHAR(4))),LEN(CAST(@E AS VARCHAR(4)))))

    WHILE @E < @EndYr

    BEGIN

    SET @E = @E + 1

    SET @a = (SELECT '/' + SUBSTRING(CAST(@E AS VARCHAR(4)),LEN(CAST(@E AS VARCHAR(4))),LEN(CAST(@E AS VARCHAR(4)))))

    SET @Z = @Z + @a

    END

    SELECT @Z

    Result:

    3/4/5

    If you would/could explain why you have this requirement, some may be able to assist you with a more efficient solution.

    Like this one Ron?

    DECLARE @BegYr INT = 2013,

    @EndYr INT = 2015,

    @OddReq VARCHAR(32);

    WITH quickTally(n) AS (SELECT TOP(@EndYr - @BegYr + 1) n FROM (VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9),(10))dt(n))

    select

    @OddReq = stuff((select '/' + right(cast(@BegYr + n as varchar),1)

    from quickTally

    for xml path(''),type).value('.','varchar(32)'),1,1,'');

    select @OddReq;

    go