用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > sqlserver教程

在SQL Server数据库中拆分字符串函数

时间:2014-11-30  来源:互联网  作者:佚名

SQL(SQL Server培训 mySQL培训 ) Server数据库(数据库培训 数据库认证 )中拆分字符串函数的具体方法:

以下为引用的内容:

  CREATE  FUNCTION uf_StrSplit '1.1.2.50','.'

  (@origStr varchar(7000),  --待拆分的字符串

  @markStr varchar(100))  --拆分标记,如','

  RETURNS @splittable table

  (

   str_id  varchar(4000) NOT NULL, --编号ID

   string  varchar(2000) NOT NULL --拆分后的字符串

  )

  AS

  BEGIN

  declare @strlen int,@postion int,@start int,@sublen int,

  @TEMPstr varchar(200),@TEMPid int

  SELECT @strlen=LEN(@origStr),@start=1,@sublen=0,@postion=1,

  @TEMPstr='',@TEMPid=0

  if(RIGHT(@origStr,1)<>@markStr )

  begin

  set @origStr = @origStr + @markStr

  end

  WHILE((@postion<=@strlen) and (@postion !=0))

  BEGIN

  IF(CHARINDEX(@markStr,@origStr,@postion)!=0)

  BEGIN

  SET @sublen=CHARINDEX(@markStr,@origStr,@postion)-@postion;

  END

  ELSE

  BEGIN

  SET @sublen=@strlen-@postion+1;

  END

  IF(@postion<=@strlen)

  BEGIN

  SET @TEMPid=@TEMPid+1;

  SET @TEMPstr=SUBSTRING(@origStr,@postion,@sublen);

  INSERT INTO @splittable(str_id,string)

  values(@TEMPid,@TEMPstr)

  IF(CHARINDEX(@markStr,@origStr,@postion)!=0)

  BEGIN

  SET @postion=CHARINDEX(@markStr,@origStr,@postion)+1

  END

  ELSE

  BEGIN

  SET @postion=@postion+1

  END

  END

  END

  RETURN

  END

例如:select * from uf_StrSplit('1,1,2,50',',')

输出结果:

以下为引用的内容:

  str_id   string

  1       1

  2       1

  3       2

  4      50

来顶一下
返回首页
返回首页
推荐资讯
从零开始学ASP.NET-基础篇第1/7页 从零开始学ASP.NET-基础篇第1/7页第一天 学习目的: 掌握最基本的Label、TextBox、Button控件
ASP.NET入门数据篇 ASP.NET入门数据篇对于网站编程的初学者来说,总是会上网找些源码来看,但久而
相关文章
栏目更新
栏目热门