ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 利用数据分隔符获得对应位置数据的函数

利用数据分隔符获得对应位置数据的函数

原创 Linux操作系统 作者:guan_jh 时间:2009-04-23 13:22:04 0 删除 编辑
--分段截取函数
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_GetStr]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[f_GetStr]
GO


CREATE FUNCTION dbo.f_GetStr(
@s varchar(8000),      --包含多个数据项的字符串
@pos int,             --要获取的数据项的位置
@split varchar(10)     --数据分隔符
)RETURNS varchar(100)
AS
BEGIN
    IF @s IS NULL RETURN(NULL)
    DECLARE @splitlen int
    SELECT @splitlen=LEN(@split+'a')-2
    WHILE @pos>1 AND CHARINDEX(@split,@s+@split)>0
        SELECT @pos=@pos-1,
            @s=STUFF(@s,1,CHARINDEX(@split,@s+@split)+@splitlen,'')
    RETURN(ISNULL(LEFT(@s,CHARINDEX(@split,@s+@split)-1),''))
END
GO

用法:
declare @1 varchar(100)
select  @1 = dbo.f_GetStr('a|qqqq|qqq|ww|',1,'|')
select @1

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20854791/viewspace-591540/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-02-18

  • 博文量
    15
  • 访问量
    30375