Fn_StringSplitToTable

ALTER FUNCTION [dbo].[Fn_StringSplitToTable] 
( 
    @StringX varchar(MAX), 
    @Split nvarchar(10)
) 
RETURNS 
@IdsTable TABLE 
( 
    [Id] nvarchar(200) 
) 
AS 
BEGIN 
    DECLARE @Index int 
    DECLARE @LenIndex int 
    SET @LenIndex=LEN(@Split) 
    SET @Index=CHARINDEX(@Split,@StringX,1) 
    WHILE (@Index>=1) 
    BEGIN 
        IF(LEFT(@StringX,@Index-1) <> '') 
            INSERT INTO @IdsTable SELECT LTRIM(RTRIM(LEFT(@StringX,@Index-1))) 
        SET @StringX=RIGHT(@StringX,LEN(@StringX)-@Index-@LenIndex+1) 
        SET @Index=CHARINDEX(@Split,@StringX,1) 
    END 
    IF(@StringX<>'') INSERT INTO @IdsTable SELECT LTRIM(RTRIM(@StringX)) 
    
    RETURN 
END

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章