Função Split no SQL - retornando uma tabela.

   1:  CREATE FUNCTION [dbo].[Split]
   2:  (
   3:         @text varchar(8000), 
   4:         @delimiter varchar(1) = ' '
   5:  )
   6:  RETURNS @Strings TABLE(    
   7:         position int IDENTITY PRIMARY KEY,
   8:         value varchar(8000)   
   9:  )
  10:  AS
  11:  BEGIN
  12:  DECLARE @index int 
  13:  SET @index = -1 
  14:  WHILE (LEN(@text) > 0) 
  15:  BEGIN  
  16:         SET @index = CHARINDEX(@delimiter , @text)  
  17:         IF (@index = 0) AND (LEN(@text) > 0)  
  18:         BEGIN   
  19:             INSERT INTO @Strings VALUES (@text)
  20:             BREAK  
  21:         END  
  22:         IF (@index = 1)  
  23:         BEGIN   
  24:             INSERT INTO @Strings VALUES (LEFT(@text, @index - 1))   
  25:             SET @text = RIGHT(@text, (LEN(@text) - @index))  
  26:         END  
  27:         ELSE 
  28:             SET @text = RIGHT(@text, (LEN(@text) - @index)) 
  29:  END
  30:  RETURN
  31:  END

Comentários

Postagens mais visitadas deste blog

Funcão SQL para abreviar nomes

Função em JavaScript para consulta de CEP com retorno em XML ou Json