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

浙公网安备 33010602011771号