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