create proc SplitStr
@AccountString varchar(max), --需要截取的字符串
@SplitChar varchar(10) --要截取的分隔符
as
begin
declare @Account varchar(200) --截取后的字符
declare @SplitCharPos int --记录截取位置
set @SplitCharPos = 0; --初始截取位置为0
--declare @TotalCount int
--set @TotalCount = 0
select @SplitCharPos = CHARINDEX(@SplitChar, @AccountString) --第一次出现的位置
if @SplitCharPos = 0 --如果第一次出现位置为0
begin
select @Account = @AccountString --原字符串等于截取后的字符
select @Account as Account --查出要截取的字符
end
else
begin
while @SplitCharPos <> 0 --直到出现的位置不为0
begin
select @SplitCharPos = CHARINDEX(@SplitChar, @AccountString)
if @SplitCharPos = 0
begin
select @Account = @AccountString
end
else
begin
select @Account = LEFT(@AccountString, @SplitCharPos - 1)
select @AccountString = RIGHT(@AccountString, len(@AccountString)-len(@Account) - 1)
end
--要对截取的每个字符进一步操作写在此
--select @TotalCount = @TotalCount + count(*) from dbo.Tuser where username like '%' + @Account + '%'
end
--select @TotalCount as 访问数
end
end
sql存储过程版Split(字符串截取)
最新推荐文章于 2024-07-15 09:46:01 发布