Karuta’s ASP & M$ SQLserver

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

Função SPLIT – transforma uma variável com dados separados em tabela

Posted by karuta em março 14, 2013

 

–cria function split

CREATE FUNCTION [dbo].[fnSplit](
@frase VARCHAR(8000), @delimitador VARCHAR(8000) = ‘,’
) RETURNS @result TABLE (item VARCHAR(8000))

BEGIN
DECLARE @parte VARCHAR(8000)
WHILE CHARINDEX(@delimitador,@frase,0) <> 0
BEGIN
SELECT
@parte=RTRIM(LTRIM(SUBSTRING(@frase,1,CHARINDEX(@delimitador,@frase,0)-1))),
@frase=RTRIM(LTRIM(SUBSTRING(@frase,CHARINDEX(@delimitador,@frase,0)+LEN(@delimitador),LEN(@frase))))
IF LEN(@parte) > 0
INSERT INTO @result SELECT @parte
END

IF LEN(@frase) > 0
INSERT INTO @result SELECT @frase
RETURN
END

GO

 

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: