That link does a lot more than you really require.Here's a simple oneCREATE FUNCTION [dbo].[TC_FN_parseList] ( @parseString NVARCHAR(MAX) , @delimiter NVARCHAR(20) = ',' ) RETURNS @parsedList TABLE ( [ID] INT PRIMARY KEY IDENTITY(1,1) , [value] NVARCHAR(MAX) ) AS BEGIN DECLARE @delimiterPos INT WHILE ( LEN(@parseString) > 0 ) BEGIN SET @delimiterPos = CHARINDEX(@delimiter, @parseString) IF @delimiterPos = 0 BEGIN INSERT @parsedList ([value]) SELECT @parseString SET @parseString = N'' END ELSE BEGIN INSERT @parsedList([value]) SELECT SUBSTRING(@parseString, 0, @delimiterPos) SET @parseString = RIGHT(@parseString, LEN(@parseString) - @delimiterPos) END END RETURN END
Example of Use:SELECT * FROM dbo.TC_FN_parseList ('dog cat horse', ' ')Charlie===============================================================Msg 3903, Level 16, State 1, Line 1736The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION