/*
功能:分割字符串返回表
作者:Sam

示例:select * from FUN_ParseArray('1,2,3',',')
*/

CREATE FUNCTION [dbo].[FUN_ParseArray](@Array VARCHAR(8000),@separator CHAR(1))
RETURNS @T Table (col1 varchar(1000))
AS
BEGIN

DECLARE @separator_position INT
DECLARE @array_value VARCHAR(1000)

SET @array = @array + @separator


WHILE PATINDEX('%' + @separator + '%', @array) <> 0
BEGIN

SELECT @separator_position = PATINDEX('%' + @separator + '%',@array)
SELECT @array_value = LEFT(@array, @separator_position - 1)

INSERT into @T VALUES (@array_value)

SELECT @array = STUFF(@array, 1, @separator_position, '')
END
RETURN
END