您现在的位置:软界网技术中心数据库SQLServer > 技术显示
实例讲解实现SQL下的字符串拆分具体方法
2008-7-14 0:00:00   网友评论       阅读次数2 点此评论
   

  因为工作的原因,开发过一个拆分字符串的SQL函数,现在把它贴出来,与大家共勉学习。

  该函数如下:

  CREATE function [dbo].[StringSplit](@str nvarchar(max),@spliter nvarchar(10))

  returns @tb table(ch nvarchar(256))

  AS

  BEGIN

  DECLARE @Num int,@Pos int, @NextPos int

  SET @Num = 0

  SET @Pos = 1

  WHILE(@Pos <= LEN(@str))

  BEGIN

  SELECT @NextPos = CHARINDEX(@spliter, @str, @Pos)

  IF (@NextPos = 0 OR @NextPos IS NULL)

  SELECT @NextPos = LEN(@str) + 1

  INSERT INTO @tb VALUES(RTRIM(LTRIM(SUBSTRING(@str, @Pos, @NextPos - @Pos))))

  SELECT @Pos = @NextPos+1

  END

   return

  END

  使用方法:

  Syntax:

  StringSplit (stringToSplit nvarchar(max) , separator nvarchar(10) )ArgumentsstringToSplit 用于分割的文本separator 分隔字符Samples在存储过程或者SQL脚本中,使用如下的方法

  SELECT * FROM dbo.StringSplit('计算机,IT,C#,SQL',',')

  得出的结果如下:

  计算机

  IT

  C#

  SQL

  

 
      来源: 作者:
 
【评论查看】
document.write("");