1 Create function [dbo].[split]
2 (
3 @SourceSql varchar(max),
4 @StrSeprate varchar(10)
5 )
6 returns @temp table(line varchar(max))
7 as
8 begin
9 declare @i int
10 set @SourceSql = rtrim(ltrim(@SourceSql))
11 set @i = charindex(@StrSeprate,@SourceSql)
12 while @i >= 1
13 begin
14 if len(left(@SourceSql,@i-1))>0
15 begin
16 insert @temp values(left(@SourceSql,@i-1))
17 end
18 set @SourceSql=substring(@SourceSql,@i+len(@StrSeprate),len(@SourceSql)-@i)
19 set @i=charindex(@StrSeprate,@SourceSql)
20 end
21 if @SourceSql <> ‘‘
22 insert @temp values(@SourceSql)
23 return
24 end
25
26
27 -----测试
28 GO
29 Select * From dbo.split(‘1,3,2,4,l‘,‘,‘)