当前位置: 代码迷 >> SQL >> 在sqlserver中自定义一个split方法(通过上标获取截取的数组中数据)
  详细解决方案

在sqlserver中自定义一个split方法(通过上标获取截取的数组中数据)

热度:114   发布时间:2016-05-05 14:24:31.0
在sqlserver中自定义一个split方法(通过下标获取截取的数组中数据)
在使用sqlserver数据库开发时遇到了这个问题,查询资料发现没有这样的方法,在一个朋友的帮忙下写的,跟大家分享下,希望大家能提宝贵意见,进行改进和优化
if object_id('f_split') is not null drop function f_split create function [dbo].[f_split](@SourceSql varchar(8000),@StrSeprate varchar(10),@indexof int) returns nvarchar(50)as begin declare @i as intdeclare @temp_str as nvarchar(50)set @SourceSql=rtrim(ltrim(@SourceSql))while @indexof > 0begin	set @indexof = @indexof - 1	set @i=charindex(@StrSeprate,@SourceSql)	if @i <> 0	begin		set @temp_str = (left(@SourceSql,@i-1))		set @SourceSql = right(@SourceSql,len(@SourceSql)-len(@temp_str)-len(@StrSeprate))	end	if @i = 0	begin		if @temp_str <> ''		begin			--取最后一个作为返回值			set @temp_str = @SourceSql			break		end 	endendreturn @temp_strendselect dbo.f_split('A:B:c',':','1');
  相关解决方案