sql获取数组指定元素
需求:获取字符数组1,2,3的第2个元素
方法:通过自定义函数来实现
/* 获取字符串数组某个元素 */ if exists (select 1 from sysobjects where id = object_id('Get_StrArrayStrOfIndex' )) drop Function Get_StrArrayStrOfIndex go create function Get_StrArrayStrOfIndex ( @str varchar(5000 ), -- 要分割的字符串 @split varchar(10 ), -- 分隔符号 @index int --取第几个元素 ) returns varchar (5000) 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 return substring (@str, @start,@location -@start) end GO
用法:
print dbo.Get_StrArrayStrOfIndex('1,2,3',',',2)