GO CREATE FUNCTION [dbo].[SPLIT] ( @str_in VARCHAR(8000), @separator VARCHAR(4) ) RETURNS @strtable TABLE (strval VARCHAR(8000)) AS BEGIN DECLARE @tmpStr VARCHAR(8000), @charind INT, @SeperatorLength INT SELECT @tmpStr = @str_in, @SeperatorLength = LEN(REPLACE(@separator, SPACE(1), 'X')) WHILE LEN(@tmpStr) > 0 BEGIN SET @charind = CHARINDEX(@separator, @tmpStr) IF @charind > 0 BEGIN IF @charind > 1 INSERT INTO @strtable SELECT SUBSTRING( @tmpStr, 1, CHARINDEX(@separator,@tmpStr)-1 ) SELECT @tmpStr = SUBSTRING(@tmpStr, @charind + @SeperatorLength, LEN(REPLACE(@tmpStr, SPACE(1), 'X')) - (@charind + @SeperatorLength - 1) ) END ELSE BEGIN INSERT INTO @strtable SELECT @tmpStr SELECT @tmpStr = '' END END RETURN END GO