得到指定字串列表中,指定個數的字串

2021-04-16 14:47:05 字數 1184 閱讀 3006

if exists (select * from dbo.sysobjects where id = object_id(n'[dbo].[f_split]') and xtype in (n'fn', n'if', n'tf'))

drop function [dbo].[f_split]

go/*--得到字串列表指定位置的字元

可以自定義字串列表的分隔符

如果取數字置超出的範圍,返回空字串

--鄒建 2004.07(引用請保留此資訊)--*/

/*--呼叫示例

--測試資料

declare @t table(fitem varchar(100))

insert @t select '100.120.10' 

union all select '20.140.10'

union all select '150.124.150.10'

--查詢

select fitem1=dbo.f_split(fitem,1,'.')

,fitem2=dbo.f_split(fitem,2,'.')

,fitem3=dbo.f_split(fitem,3,'.')

,fitem4=dbo.f_split(fitem,4,'.')

from @t

--*/

create function f_split(

@s varchar(8000),  --字串列表

@pos int, --取數字置

@splitchar varchar(10) --分隔符

)returns varchar(8000)

asbegin

declare @i int,@ilen int

select @i=charindex(@splitchar,@s),@ilen=len(@splitchar)

while @i>0 and @pos>1

select @s=substring(@s,@i+@ilen,8000)

,@i=charindex(@splitchar,@s)

,@pos=@pos-1

return(case @pos when 1

then case when @i>0 then left(@s,@i-1) else @s end

else '' end)

endgo

得到指定字串列表中,指定個數的字串

if exists select from dbo.sysobjects where id object id n dbo f split and xtype in n fn n if n tf drop function dbo f split go 得到字串列表指定位置的字元 可以自定義字串列表...

得到指定字串列表中,指定個數的字串

if exists select from dbo.sysobjects where id object id n dbo f split and xtype in n fn n if n tf drop function dbo f split go 得到字串列表指定位置的字元 可以自定義字串列表...

得到指定字串列表中,指定個數的字串

if exists select from dbo.sysobjects where id object id n dbo f split and xtype in n fn n if n tf drop function dbo f split go 得到字串列表指定位置的字元 可以自定義字串列表...