逗號轉table

逗號轉table

 

create function [dbo].[function_string_to_table]
(
@string varchar(500),
@delimiter char(1)
)
returns @output TABLE (
data varchar(256)
)
begin
    declare @start INT,@end int
    select @start=1,@end=charindex(@delimiter,@string)
    while @start<len(@string) +1 begin
  if @end =0  
  set @end =len(@string)+1
  
  insert into @output  (data)  
  values (substring(@string,@start,@end-@start))
  set @start=@end+1
  set @end=charindex(@delimiter,@string,@start)
    end
    return
end


select * from dbo.function_string_to_table('key1,key2,key3,key4,key5,',',')