Prepare Table From StringArray

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

ALTER function [dbo].[PrepareTableFromStringArray](@strArray nvarchar(1000))

RETURNS @tbl TABLE
(Id int)

AS

BEGIN

DECLARE @Num int
DECLARE @Pos int
DECLARE @NextPos int
DECLARE @Name nvarchar(256)

SET @Num = 0
SET @Pos = 1
WHILE(@Pos <= LEN(Cast(@strArray as varchar(100))))
BEGIN
SELECT @NextPos = CHARINDEX(N',', Cast(@strArray as varchar(100)), @Pos)
IF (@NextPos = 0 OR @NextPos IS NULL)
SELECT @NextPos = LEN(@strArray) + 1
SELECT @Name = RTRIM(LTRIM(SUBSTRING(Cast(@strArray as varchar(100)), @Pos, @NextPos - @Pos)))
SELECT @Pos = @NextPos+1

Insert Into @tbl
Values(CAST(@Name AS int))
End

Return

END