sql 存储过程, 截取字符串的方法 split

 1 set ANSI_NULLS ON
 2 set QUOTED_IDENTIFIER ON
 3 go
 4 
 5 
 6 ALTER PROCEDURE [dbo].[aa1]
 7 @Param1 nvarchar(max)
 8 
 9 
10 AS
11 BEGIN
12     SET NOCOUNT ON;
13 declare @index int --开始检索的位置
14 declare @len int --字符串总长度
15 declare @sub int --分隔符位置
16 
17 set @index =0 ;
18 set @len =len(@Param1);
19 
20 select @len 总长度
21 
22 
23 while @index < @len
24 
25 begin
26 
27 
28 select SUBSTRing(@Param1,@index , charindex(',',@Param1,@index)-@index )  截取字段 
29 ,@index 开始截取位置
30 ,charindex(',',@Param1,@index)-@index 截取长度
31 ,charindex(',',@Param1,@index)  as 分割符位置
32 
33 set @sub = charindex(',',@Param1,@index);
34 set @index= charindex(',',@Param1,@index)+1
35 
36 if charindex(',',@Param1,@index) =0 --最后一个分割符,后面检索不到分割符
37 begin
38 
39 select substring(@Param1,@index,@len-@index+1) aa
40 
41 return 
42 end
43 
44 end
45 
46 END
View Code


 

posted @ 2013-06-03 16:56  小四儿  阅读(2348)  评论(0)    收藏  举报