-- =============================================
-- Create date: 2006-4-19
-- Description: 把字符串分割到一个表中
-- select * from dbo.uf_split_string('',',')
-- =============================================
CREATE FUNCTION [dbo].[uf_split_string]
(
@in_str varchar(8000),
@split varchar(1)
)
RETURNS
@strs TABLE
(
c_str varchar(100)
)
AS
BEGIN
declare @i int,@i0 int ,@tmp varchar(100)
set @i=1
set @i0 = 0
select @in_str=ltrim(rtrim(isnull(@in_str,'')))
if(@in_str='')
begin
insert into @strs(c_str)
select ''
end
while(@i<=len(@in_str))
begin
if (substring(@in_str,@i,1)=@split) or @i=len(@in_str)
begin
set @tmp = substring(@in_str,@i0+1,@i - @i0 )
if not (@tmp is null or @tmp = '') begin
insert into @strs(c_str)
select replace(@tmp,@split,'')
end
set @i0 = @i
end
set @i=@i+1
end
return
end
GO