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

Função SQL que retorna valor (R$) por extenso