Karuta’s ASP & M$ SQLserver

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

Archive for março \14\UTC 2013

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

 

Anúncios

Posted in sql server | Leave a Comment »