推荐.NET教程: ASP.NET C# 开发环境 Ajax教程 控件开发 统计报表 数据库 Web服务 安装部署 CommunityServer NHibernate DataGrid/GridView 实用代码 VS2005
示例源码 MVC/三层 SqlHelper 入门源码 开源 CMS Ajax/Atlas C#.net 毕业设计 源码 经典代码 商业 本站作品 持久层 随书源码 WebService 英文/汉化 Asp.net2.0

阿牛·乐园

每天进步一点点

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  80 随笔 :: 14 文章 :: 389 评论 :: 13 引用

2006年4月27日 #

alter function dbo.ufn_ConvertToIntList
(
 
@data varchar(7990)
)
returns @table Table(c int not null)
as
begin
    
declare @str varchar(8000),@iter varchar(50)
            ,
@beginPos int@endPos int
    
select @str= @data + ','@beginPos = 1@endPos = charindex(','@str@beginPos)
    
while(@endPos > 0)
    
begin
        
set @iter = SubString(@str,@beginPos ,@endPos - @beginPos )
        
if(@iter <> '')
        
begin 
            
insert into @table(c) values(Convert(int,@iter))
        
end
        
select @beginPos =  @endPos + 1@endPos = charindex(','@str@beginPos)
    
end
    
return
end
go

declare @data varchar(8000)
        ,
@i int
    
select @i = 1@data ='1,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9'
while(@i < 20)
begin
    
select * from dbo.ufn_ConvertToIntList(@data)
    
set @i= @i +1
end
posted @ 2006-04-27 13:52 阿牛 阅读(79) | 评论 (3)编辑