日期:2014-05-18 浏览次数:20552 次
CREATE procedure [dbo].[dt_test] ( @str varchar(1024), --要分割的字符串 @split varchar(10), --分隔符号 @ReturnValues INT OUTPUT ) as begin declare @location int declare @start int declare @length int set @str=ltrim(rtrim(@str)) set @location=charindex(@split,@str) set @length=1 while @location<>0 begin set @start=@location+1 set @location=charindex(@split,@str,@start) set @length=@length+1 end SET @ReturnValues = @length end GO
------解决方案--------------------
这里有个函数可以给你参考一下,也是分字符串的
ALTER function [dbo].[f_split](@SourceSql varchar(8000),@StrSeprate varchar(10)) returns @temp table(a varchar(100)) --实现split功能 的函数 --date :2005-4-20 --Author :Domino as begin declare @i int set @SourceSql=rtrim(ltrim(@SourceSql)) set @i=charindex(@StrSeprate,@SourceSql) while @i>=1 begin insert @temp values(left(@SourceSql,@i-1)) set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i) set @i=charindex(@StrSeprate,@SourceSql) end if @SourceSql<>'\' insert @temp values(@SourceSql) return end