您的位置:首页 > 数据库

一个有用的T-SQL函数(取分隔字符串中的某个子串)

2008-12-25 14:40 323 查看
set ANSI_NULLS ON

set QUOTED_IDENTIFIER ON

go

ALTER function [dbo].[Get_StrArrayStrOfIndex](

@str varchar(8000), --要分割的字符串

@split varchar(10), --分隔符号

@index int --取第几个元素

)

returns varchar(8000)

as

begin

declare @location int

declare @start int

declare @next int

declare @seed int

set @str=ltrim(rtrim(@str))

set @start=1

set @next=1

set @seed=len(@split)

set @location=charindex(@split,@str)

while @location<>0 and @index>@next

begin

set @start=@location+@seed

set @location=charindex(@split,@str,@start)

set @next=@next+1

end

if @location =0 select @location =len(@str)+1

--这儿存在两种情况:1、字符串不存在分隔符号 2、字符串中存在分隔符号,跳出while循环后,@location为0,那默认为字符串后边有一个分隔符号。

return substring(@str,@start,@location-@start)

end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐