日期:2014-05-16  浏览次数:20743 次

下面这个情况如何解决
比如我有个字串为   a,b,c,d,e
经过什么方法可以成为类似下面的表
|-|
|f|
|-|
|a|
|b|
|c|
|d|
|e|
|-|

------解决方案--------------------

/*
功能:实现split功能的函数
*/

create function fn_split
(
@inputstr varchar(8000),
@seprator varchar(10)
)
returns @temp table (a varchar(200))
as

begin
declare @i int

set @inputstr = rtrim(ltrim(@inputstr))
set @i = charindex(@seprator, @inputstr)

while @i > = 1
begin
insert @temp values(left(@inputstr, @i - 1))

set @inputstr = substring(@inputstr, @i + 1, len(@inputstr) - @i)
set @i = charindex(@seprator, @inputstr)
end

if @inputstr <> '\ '
insert @temp values(@inputstr)

return
end