Artigo extraído do site: www.codigofonte.com.br

 

Slipt no SQL Server

 

Código que deve ser utilizado em uma Procedure no SQL Server 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