How to Split Comma Separated Values in SQL Server

Hi all, in this code snippet I will show how to split(,) separated value in sql server: 
  1. Create FUNCTION [dbo].[Split_Function]   
  2. (@String varchar(MAX),@ImageNameByUser varchar(MAX)=null, @Delimiter char(1),@QuestionId bigint,@ID1 int)  
  3. returns @temptable TABLE (RightOptions varchar(MAX),NotInUse varchar(MAX),QuestionId bigint,QuestionOptionId bigint,RightAnswerId bigint)   
  4. as   
  5. begin   
  6.     declare @idx int   
  7.     declare @slice varchar(8000)  
  8.        
  9.     ,@slice2 varchar(8000)   
  10.     ,@idx2 int  
  11.        
  12.     select @idx = 1   
  13.     select @idx2 = 1   
  14.     if len(@String)<1 or @String is null return   
  15.         while @idx!= 0   
  16.         begin   
  17.             set @idx = charindex(@Delimiter,@String)   
  18.             set @idx2 = charindex(@Delimiter,@ImageNameByUser)   
  19.             if @idx!=0   
  20.                 set @slice = left(@String,@idx - 1)   
  21.             else   
  22.                 set @slice = @String   
  23.             if @idx2!=0   
  24.                 set @slice2 = left(@ImageNameByUser,@idx2 - 1)   
  25.             else   
  26.                 set @slice2 = @ImageNameByUser   
  27.             --If(IsNull(@ImageNameByUser,'@@')!='@@')   
  28.             --if(len(@slice)>0 And len(@slice2)>0 )   
  29.             --Else   
  30.             if(len(@slice)>0)   
  31.                 BEGIN   
  32.                     SET @ID1=@ID1+1   
  33.                     declare @RightAnsId bigint  
  34.                     Select @RightAnsId=isnull(QuestionOptionId,0) from tblQuestionOption where OptionDetail = LTRIM(RTRIM(@slice)) And QuestionId=@QuestionId   
  35.                     insert into @temptable(RightOptions,NotInUse,QuestionId,QuestionOptionId,RightAnswerId)   
  36.                     values(LTRIM(RTRIM(@slice)),LTRIM(RTRIM(@slice2)),@QuestionId,@RightAnsId,@ID1)   
  37.                 END   
  38.                 set @String = right(@String,len(@String) - @idx)   
  39.             if len(@String) = 0 break   
  40.                 set @ImageNameByUser = right(@ImageNameByUser,len(@ImageNameByUser) - @idx2)   
  41.             if len(@ImageNameByUser) = 0 break   
  42.         end   
  43.     return   
  44. end