sqlserver里的Split

CREATE FUNCTION f_Split
(
    
@str varchar(8000),
    
@strSeperate varchar(10)
)
RETURNS @temp table(a varchar(100))
AS
BEGIN    
    
SET @str=LTrim(RTrim(@str))         --'a,b,c'
    --if @str is null or @str=''
    DECLARE @i int
    
SET @i=CHARINDEX(@strSeperate,@str)
    
WHILE @i>=1
    
BEGIN
        
INSERT into  @temp SELECT (LEFT(@str,@i-1))
        
SET @str=SUBSTRING(@str,@i+1,LEN(@str)-@i)
        
--@str=STUFF(@str,1,@i,'')
        SET @i=CHARINDEX(@strSeperate,@str)
        
    
END
    
IF @str!='\'
      
INSERT into  @temp SELECT @str
    
    
RETURN 
END
GO
select * from f_Split('a,b,c,d,e,f,g',',')
轉自:http://www.cnblogs.com/RobotH/archive/2008/03/15/1107827.html
posted @ 2008-03-16 09:43  Athrun  阅读(315)  评论(0编辑  收藏  举报