MsSQL自创函数--取@Sstr串中的以@Ssep分隔的第@Pos个字符

来源:互联网 发布:淘宝热卖产品有哪些 编辑:程序博客网 时间:2024/05/21 14:49
 ---MsSQL自创函数--取@Sstr串中的以@Ssep分隔的第@Pos个字符
Create Function dbo.GetStrByPos(@Sstr varchar(500),@Ssep varchar(20),@Pos int) 
Returns varchar(500)
with ENCRYPTION
As
begin
 Declare @Tmpstr varchar(500),@TmpPosstr varchar(500),@iIndex int,@Cnt int
 set @Tmpstr=@Sstr
 set @Cnt=0 --开始计数器为0连续找@Pos-1次
 while (@Cnt<@Pos-1)
 begin
   select @iIndex=CharIndex(@Ssep, @Tmpstr)
   set @Tmpstr=right(@Tmpstr,len(@Tmpstr)-@iIndex)     --取剩下的串
   set @Cnt=@Cnt+1
 end
 
 select @iIndex=CharIndex(@Ssep, @Tmpstr)
 if @iIndex=0 
  set @TmpPosstr=@Tmpstr
 else
  set @TmpPosstr=left(@Tmpstr,@iIndex-1)
 Return @TmpPosstr
end
原创粉丝点击