SQL Server字符串切割函数

复制代码 代码如下:

create function fgetstrbysplit

(

@source varchar(max),

@index int,

@splitchar varchar(1)

)

returns varchar(max)

as

begin

declare @len int

declare @n int = 0

declare @chindex int

declare @result varchar(max)

–获取总长度

set @len = len(@source)

–获取切割字符位置

set @chindex = charindex(@splitchar,@source)

while @chindex > 0

begin

if(@n = @index)

begin

set @source = substring(@source,0,@chindex)

break

end

set @source = substring(@source,@chindex+1,@len)

set @chindex = charindex(@splitchar,@source)

set @len = len(@source)

set @n = @n + 1

end

return @source

end

go

–调用

declare @value varchar(max)

set @value = dbo.fgetstrbysplit(‘645002*01_45854_183677_12′,0,’_’)

print @value

结果:

645002*01

–1

45854

–2

183677

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐