1 create function split(@SourceSql varchar(8000),@Code varchar(10))
create function split(@SourceSql varchar(8000),@Code varchar(10))
2 returns @temp table(sp varchar(1000))
returns @temp table(sp varchar(1000))
3 --实现split功能 的函数
--实现split功能 的函数
4 --date    :2007-7-10
--date    :2007-7-10
5 --Author :sp
--Author :sp
6 as
as 
7 begin
begin
8 declare @i int
    declare @i int
9 set @SourceSql=rtrim(ltrim(@SourceSql))
    set @SourceSql=rtrim(ltrim(@SourceSql))
10 set @i=charindex(@Code,@SourceSql)
    set @i=charindex(@Code,@SourceSql)
11 while @i>=1
    while @i>=1
12 begin
    begin
13 insert @temp values(left(@SourceSql,@i-1))
        insert @temp values(left(@SourceSql,@i-1))
14 set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i)
        set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i)
15 set @i=charindex(@Code,@SourceSql)
        set @i=charindex(@Code,@SourceSql)
16 end
    end
17 if @SourceSql<>'\'
    if @SourceSql<>'\'
18 insert @temp values(@SourceSql)
       insert @temp values(@SourceSql)
19 return
    return 
20 end
end
21 用法如下:
用法如下:
22 select * from dbo.split('1,2,3,4,5',',')
select * from dbo.split('1,2,3,4,5',',')
23
 create function split(@SourceSql varchar(8000),@Code varchar(10))
create function split(@SourceSql varchar(8000),@Code varchar(10))2
 returns @temp table(sp varchar(1000))
returns @temp table(sp varchar(1000))3
 --实现split功能 的函数
--实现split功能 的函数4
 --date    :2007-7-10
--date    :2007-7-105
 --Author :sp
--Author :sp6
 as
as 7
 begin
begin8
 declare @i int
    declare @i int9
 set @SourceSql=rtrim(ltrim(@SourceSql))
    set @SourceSql=rtrim(ltrim(@SourceSql))10
 set @i=charindex(@Code,@SourceSql)
    set @i=charindex(@Code,@SourceSql)11
 while @i>=1
    while @i>=112
 begin
    begin13
 insert @temp values(left(@SourceSql,@i-1))
        insert @temp values(left(@SourceSql,@i-1))14
 set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i)
        set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i)15
 set @i=charindex(@Code,@SourceSql)
        set @i=charindex(@Code,@SourceSql)16
 end
    end17
 if @SourceSql<>'\'
    if @SourceSql<>'\'18
 insert @temp values(@SourceSql)
       insert @temp values(@SourceSql)19
 return
    return 20
 end
end21
 用法如下:
用法如下:22
 select * from dbo.split('1,2,3,4,5',',')
select * from dbo.split('1,2,3,4,5',',')23

 
                    
                     
                    
                 
                    
                 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号