Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

jothaz

Simula SPLIT (Array) SQL

Recommended Posts

A idéia é simular a função SPLIT.

 

/*É necessário colocar a string na variável @ARRAY, e o delimitador utilizado na variável @DELIMITADOR; funciona exatamente como o 'SPLIT', a diferença é que aqui neste código é gerada uma tabela temporária simulando o Array. O nome da tabela é #ARRAY*/SET NOCOUNT ONDECLARE @ARRAY VARCHAR(8000), @DELIMITADOR VARCHAR(100), @S VARCHAR(8000)-- VALORES PASSADOS PARA A VARIAVEL @ARRAYSELECT @ARRAY = 'OLA ,TUDO BEM, MAIS OU MENOS, TRANQUILIS'-- SETANDO O DELIMITADORSELECT @DELIMITADOR = ','IF LEN(@ARRAY) > 0 SET @ARRAY = @ARRAY + @DELIMITADOR CREATE TABLE #ARRAY(ITEM_ARRAY VARCHAR(8000))WHILE LEN(@ARRAY) > 0BEGIN   SELECT @S = LTRIM(SUBSTRING(@ARRAY, 1, CHARINDEX(@DELIMITADOR, @ARRAY) - 1))   INSERT INTO #ARRAY (ITEM_ARRAY) VALUES (@S)   SELECT @ARRAY = SUBSTRING(@ARRAY, CHARINDEX(@DELIMITADOR, @ARRAY) + 1, LEN(@ARRAY))END-- MOSTRANDO O RESULTADO JÁ POPULADO NA TABELA TEMPORÁRIASELECT * FROM #ARRAYDROP TABLE #ARRAYSET NOCOUNT OFF
Fonte/Autor/link

AUTOR: retirado da internet mas não me recordo o link. Caso alguém seja o autor favor postar o link para que os créditos possam ser atribuido.

 

Dúvidas, criticas, contribuições, correções e adições serão bem vindas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

vlw Jothaz pela dica, usei e funcionou muito bem... porém eu te pergunto, como seria e a melhor forma de fazer um arrey com mais de uma dimensão, ou seja uma matriz?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Camarada,

 

Pois é isto quebra um galhão.

 

Bom para simular (e na verdade vamos simular um vetor) é necessário que seja um variável para cada dimensão do vetor.

 

Dê um lida neste post onde têmum exemplo completo.

 

Acho q lhe dará um ideia do que você precisa.

 

Qq dúvida é só abrir um post lá no fórum que têm vários membros para ajudá-lo.

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.