Wednesday, June 11, 2008

T-SQL split function

This is a code based on my goole search
CREATE FUNCTION dbo.fnSplit
(
@string varchar(500),
@delimiter char(1),
@return_index int
)
RETURNS varchar(500)
AS
BEGIN
declare @pos int
declare @piece varchar(500)

if right(rtrim(@string),1) <> @delimiter
set @string = @string + @delimiter

set @pos = patindex('%'+@delimiter+'%' , @string)

declare @i int
set @i =0
while @pos <> 0
begin
set @piece = left(@string, @pos - 1)
if @i=@return_index
return cast(@piece as varchar(500))

set @string = stuff(@string, 1, @pos, '')
set @pos = patindex('%'+@delimiter+'%' , @string)
set @i=@i+1
end

RETURN null
END

No comments: