1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| CREATE FUNCTION dbo.FC_U_SPLIT(
@pi_List VARCHAR(8000),
@pi_Delimiter VARCHAR(8000) = ','
)
RETURNS @List TABLE (Item VARCHAR(8000))
BEGIN
DECLARE @sItem VARCHAR(8000)
WHILE CHARINDEX(@pi_Delimiter,@pi_List,0) <> 0
BEGIN
SET @sItem = RTRIM(LTRIM(SUBSTRING(@pi_List,1,CHARINDEX(@pi_Delimiter,@pi_List,0)-1)));
SET @pi_List = RTRIM(LTRIM(SUBSTRING(@pi_List,CHARINDEX(@pi_Delimiter,@pi_List,0)+LEN(@pi_Delimiter),LEN(@pi_List))));
IF LEN(@sItem) > 0
INSERT INTO @List (Item) VALUES (@sItem);
END;
IF LEN(@pi_List) > 0
INSERT INTO @List (Item) VALUES (@pi_List);
RETURN;
END
GO |