熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> SQL Server >> 正文

在SQL Server數據庫中拆分字符串函數

2013-11-15 14:50:42  來源: SQL Server 

  SQL Server數據庫中拆分字符串函數的具體方法

  CREATE   FUNCTION uf_StrSplit
  (@origStr varchar()   待拆分的字符串
  @markStr varchar())    拆分標記
  RETURNS @splittable table
  (
   str_id    varchar() NOT NULL 編號ID
   string    varchar() NOT NULL 拆分後的字符串
  )
  AS
  BEGIN
  declare @strlen int@postion int@start int@sublen int
  @TEMPstr varchar()@TEMPid int
  SELECT @strlen=LEN(@origStr)@start=@sublen=@postion=
  @TEMPstr=@TEMPid=
  if(RIGHT(@origStr)<>@markStr )
  begin
  set @origStr = @origStr + @markStr
  end
  WHILE((@postion<=@strlen) and (@postion !=))
  BEGIN
  IF(CHARINDEX(@markStr@origStr@postion)!=)
  BEGIN
  SET @sublen=CHARINDEX(@markStr@origStr@postion)@postion;
  END
  ELSE
  BEGIN
  SET @sublen=@strlen@postion+;
  END
  IF(@postion<=@strlen)
  BEGIN
  SET @TEMPid=@TEMPid+;
  SET @TEMPstr=SUBSTRING(@origStr@postion@sublen);
  INSERT INTO @splittable(str_idstring)
  values(@TEMPid@TEMPstr)
  IF(CHARINDEX(@markStr@origStr@postion)!=)
  BEGIN
  SET @postion=CHARINDEX(@markStr@origStr@postion)+
  END
  ELSE
  BEGIN
  SET @postion=@postion+
  END
  END
  END
  RETURN
  END

  例如select * from uf_StrSplit()

  輸出結果

  str_id      string
              
              
              
             


From:http://tw.wingwit.com/Article/program/SQLServer/201311/22421.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.