Labels

Wednesday, May 4, 2011

SP to Split text based on a delimiter

CREATE PROCEDURE [dbo].[sp_Txt_Split](
    @sInputList varchar(8000) -- List of delimited items
  , @Delimiter char(1) = '#' -- delimiter that separates items
)
AS BEGIN
SET NOCOUNT ON
DECLARE @Item Varchar(8000)
CREATE TABLE #List(Item varchar(8000)) -- Create a temporary table
--IF CHARINDEX(@Delimiter,@sInputList,0) <> 0
--BEGIN
WHILE CHARINDEX(@Delimiter,@sInputList,0) <> 0
BEGIN
SELECT
@Item=RTRIM(LTRIM(SUBSTRING(@sInputList,1,CHARINDEX(@Delimiter,@sInputList,0)-1))),
@sInputList=RTRIM(LTRIM(SUBSTRING(@sInputList,CHARINDEX(@Delimiter,@sInputList,0)+1,LEN(@sInputList))))
IF LEN(@Item) > 0
INSERT INTO #List SELECT @Item
END
--END
IF LEN(@sInputList) > 0
INSERT INTO #List SELECT @sInputList -- Put the last item in
SELECT * FROM #List
DROP TABLE #List
RETURN
END

No comments:

Post a Comment