Karuta’s ASP & M$ SQLserver

Dicas, códigos e outras coisinhas de meus estudos para não esquecer…

Slipt no SQL Server

Posted by karuta em abril 10, 2008

Código que deve ser utilizado em uma Procedure no SQLServer para que ele gere um tipo de “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.

 

1.         SET NOCOUNT ON  

2.          

3.         DECLARE @ARRAY VARCHAR(8000), @DELIMITADOR VARCHAR(100), @S VARCHAR(8000)   

4.           

5.         — VALORES PASSADOS PARA A VARIAVEL @ARRAY   

6.         SELECT @ARRAY = “OLA ,TUDO BEM, MAIS OU MENOS, TRANQUILIS”  

7.         — SETANDO O DELIMITADOR   

8.         SELECT @DELIMITADOR = “,”  

9.           

10.      IF LEN(@ARRAY) > 0 SET @ARRAY = @ARRAY + @DELIMITADOR    

11.      CREATE TABLE #ARRAY(ITEM_ARRAY VARCHAR(8000))   

12.        

13.      WHILE LEN(@ARRAY) > 0   

14.      BEGIN  

15.         SELECT @S = LTRIM(SUBSTRING(@ARRAY, 1, CHARINDEX(@DELIMITADOR, @ARRAY) – 1))   

 

16.         INSERT INTO #ARRAY (ITEM_ARRAY) VALUES (@S)   

17.         SELECT @ARRAY = SUBSTRING(@ARRAY, CHARINDEX(@DELIMITADOR, @ARRAY) + 1, LEN(@ARRAY))   

18.      END  

19.       

20.      — MOSTRANDO O RESULTADO JÁ POPULADO NA TABELA TEMPORÁRIA   

21.      SELECT * FROM #ARRAY   

22.      DROP TABLE #ARRAY   

23.        

24.      SET NOCOUNT OFF  

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

 
%d blogueiros gostam disto: