Concatenando Caracteres no SQL Server
Removendo último caractere de um VARCHAR
No código abaixo faço uma lógica para extrair todos os anos a partir do ano de 2010 até 2014 através de um laço WHILE concatenando os anos e separando por virgula. No Exemplo também mostro como remover o ultimo carácter.
DECLARE @w_ano_loop NUMERIC,
@w_semestre VARCHAR(3),
@w_juntatudo VARCHAR(800)
SET @w_ano_loop = 2010
SET @w_semestre = '1,2'
SET @w_juntatudo = ''
WHILE @w_ano_loop != CONVERT( NUMERIC,DATEPART(YEAR, GETDATE())+1 ) BEGIN
SET @w_juntatudo = @w_juntatudo + convert(varchar,@w_ano_loop)+','
SET @w_ano_loop = @w_ano_loop + 1
END
SELECT LEFT(@w_juntatudo,LEN(@w_juntatudo)-1) AS [IN_ANO],
@w_semestre AS [IN_SEM]

Resultado
#CopieColeExecute