SQL 【Split】根据拆分符,进行字符串拆分。

SET NOCOUNT ON

DECLARE @splitString VARCHAR(MAX) = 'ab,cd,efg, hello world!'; --需要被拆分的字符串
DECLARE @separator VARCHAR(10) = ','; --分隔符

DECLARE @CurrentIndex int;
DECLARE @NextIndex int;
DECLARE @ReturnText nvarchar(max); 

SET @CurrentIndex = 1;
WHILE(@CurrentIndex<=len(@SplitString))  
BEGIN  
    SELECT @NextIndex=charindex(@Separator,@SplitString,@CurrentIndex);  
    IF(@NextIndex=0 OR @NextIndex IS NULL)  
    BEGIN
        SELECT @NextIndex=len(@SplitString)+1;  
    END
    SELECT @ReturnText=substring(@SplitString,@CurrentIndex,@NextIndex-@CurrentIndex);  
    SELECT @ReturnText --打印拆分结果
    SELECT @CurrentIndex=@NextIndex+1;  
END

 

posted @ 2013-12-20 13:54  被谋杀的诗篇  阅读(518)  评论(0编辑  收藏  举报