CREATE FUNCTION [dbo].[fnStringToInt] (@String VARCHAR(1000))
RETURNS @Inteiros TABLE
(
IDs varchar(10)
)
AS
BEGIN
DECLARE @Int varchar(10)
IF PATINDEX ('%,%', @String) = 0
INSERT INTO @Inteiros VALUES (@String)
ELSE
BEGIN
WHILE PATINDEX ('%,%', @String) > 0
BEGIN
INSERT INTO @Inteiros VALUES (SUBSTRING (@String, 1, PATINDEX ('%,%', @String) - 1))
SET @String = SUBSTRING (@String, PATINDEX ('%,%', @String) + 1, LEN(@String))
END
INSERT INTO @Inteiros VALUES (@String)
END
RETURN
END
Para testar a função, podemos fazer:
SELECT * FROM [dbo].[fnStringToInt]('10,2,3')
O resultado seria:
Segue link onde encontrei a função, encaminhada por um dos seguidores do blog: http://social.msdn.microsoft.com/forums/pt-BR/transactsqlpt/thread/1ff7e4d9-d32c-4356-83a4-39706db3e007
Abs!
Nenhum comentário:
Postar um comentário
Leave your comment here!