^_^字符串分割的函数Sql

在上一篇就是排序中没有说~~我看得代码来自于--ASP.NET知识库,这篇也是分析
/Files/ajaxren/分隔字符串.rar

alter procedure sp_split_string
(
    
@string        NVARCHAR(4000),--要分割的字符串
    @SpLitString  varchar(2000--中间的分割符
)
AS
BEGIN
    
DECLARE @object_id     nvarchar(500)
    
DECLARE    @i          INT
    
DECLARE    @len        INT    
    
print @string
    
IF (@string IS NULLOR (LTRIM(@string= '')
        
RETURN
    
--查找字符串@string的中是否包含@SpLitString字符
    WHILE CHARINDEX(@SpLitString,@string> 0
        
BEGIN
            
SET @len = LEN(@string)--总的长度
            print @len
            
SET @i = CHARINDEX(@SpLitString@string)--找到第一个包含分割符的地方
             print @i
            
SET @object_id = LEFT(@string@i-1)--截取开始到分割前一个数据(分割数据)--右边开始算
            print 'object_id='+ @object_id
           
-- -INSERT INTO a (id) VALUES (@object_id)--少做修改,改成需要的sql语句即可
            SET @string = RIGHT(@string@len - @i)--给变量从新复制数据-从分割符后面到整个长度-RIGHT从左边开始算
        END
    
SET @object_id = @string
--    INSERT INTO a (id) VALUES (@object_id)--少做修改,改成需要的sql语句即可
END
go

exec sp_split_string '102,103,105,106,107,108,200,500,306,408',','
posted @ 2007-04-24 22:22  苹果王子  阅读(588)  评论(1编辑  收藏  举报