1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| CREATE FUNCTION F_T_NOMBRES (@DATA VARCHAR(max))
RETURNS @T TABLE (NOMBRE VARCHAR(64))
AS
BEGIN
IF @DATA IS NULL RETURN
IF LEN(@DATA) = 0 RETURN
DECLARE @I INT, @C CHAR(1), @A VARCHAR(64)
SELECT @I = 1, @A = ''
WHILE @I < LEN(@DATA)
BEGIN
SET @C = SUBSTRING(@DATA, @I, 1)
IF @C IN ('0', '1', '2', '3', '4', '5', '6', '7', '8','9', '.', '-')
IF @C = '-' AND LEN(@DATA) > 0
BEGIN
IF LEN(@A) > 0
BEGIN
INSERT INTO @T VALUES (@A)--(CAST(@A AS FLOAT))
SET @A = @C
END
END
ELSE
SET @A = @A + @C
ELSE
BEGIN
IF LEN(@A) > 0
BEGIN
INSERT INTO @T VALUES (@A)--(CAST(@A AS FLOAT))
SET @A = ''
END
END
SET @I = @I + 1
END
RETURN
END
GO |
Partager