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