quinta-feira, 11 de setembro de 2008

Lendo caracteres de uma string simulando um split com T-Sql

Este código simula um split, mas para um caso específico que eu enfrentei, onde precisava quebrar uma string em várias, mas sabia que sempre seria preenchida desta forma: '97 98 99 00'. Precisava pegar os dois caracteres quebrando pelo espaço.
Dá pra fazer isso mais dinamicamente, usando CharIndex por exemplo, fica ao gosto do freguês:

/*
Simulando Split
*/

print 'Segunda versão'
declare @stPos int
declare @size int
declare @var varchar(100)
set @var = '97 98 99 00'
set @size = len(@var)
set @stPos = 1
while @size > 0
begin
print substring(@var, @stPos, 2)
set @stPos = @stPos + 3
set @size = @size - 3
end

Nenhum comentário: