/*
说明: 字符串分拆函数(返回一个表) 
*/
create function [dbo].[F_SplitStr]
(
@s nvarchar(max), -- 待分拆的字符串
@split nvarchar(max) -- 数据分隔符 

returns @ret table (col nvarchar(4000))
as
begin

 declare @splitlen int
 set @splitlen = len(@split) - 1

 while charindex(@split, @s) > 0
 begin

  insert @ret values(left(@s, charindex(@split, @s) - 1)) -- 获取第1个分隔符前面(不含分隔符)的字串

  set @s = stuff(@s, 1, charindex(@split, @s) + @splitlen, '') -- 将第1个分隔符前面(含分隔符)替换成空串(‘’)

 end

 insert @ret values(@s) -- 最后一截

 return 

end

本文转载:CSDN博客