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
Postar um comentário
Os códigos postados aqui são uma seqüência de instruções de forma ordenada, não compilada para o código de máquina, em uma determinada linguagem de programação.
Ajude a melhorar esses códigos.