您当前的位置: 首页 >  sql

[MSSQL]获取指定索引的值的函数

发布时间:2012-02-16 12:38:11 ,浏览量:0

 
go
--创建函数(作者:csdn邹建)
create function getstrofindex (@str varchar(8000),@index int =0) 
returns varchar(8000) 
as 
begin 
declare @str_return varchar(8000) 
declare @start int 
declare @next int 
declare @location int 
select @start =1 
select @next =1 --如果习惯从开始则select @next =0 
select @location = charindex(',',@str,@start) 
while (@location <>0 and @index > @next ) 
begin 
select @start = @location +1 
select @location = charindex(',',@str,@start) 
select @next =@next +1 
end 
if @location =0 select @location =len(@str)+1 --如果是因为没有逗号退出,则认为逗号在字符串后
select @str_return = substring(@str,@start,@location -@start) --@start肯定是逗号之后的位置或者就是初始值
if (@index <> @next ) select @str_return = '' --如果二者不相等,则是因为逗号太少,或者@index小于@next的初始值。
return @str_return 
end 
--测试示例
SELECT [dbo].[getstrofindex]('1,2,3,4,a,b,c,d',4) 
--运行结果
/*
4
*/
关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    109273博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0468s