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 得到字串列表指定位置的字元 可以自定義字串列表...