把 一串字符串 分割成单列表形式 如 1,2,3,4 变成 table 竖排显示

CREATE FUNCTION [dbo].[F_StringSplit]
(
    @STR NVARCHAR(MAX)='',
    @SPLITER NVARCHAR(20)=''

)


RETURNS @TB TABLE(TB_V NVARCHAR(200)    
    AS
    BEGIN
        DECLARE @NUM INT, @POS INT,@NEXT_POS INT
        SET @NUM=0
        SET @POS=1
        WHILE (@POS <=LEN(@STR))
        BEGIN
            SELECT @NEXT_POS=CHARINDEX(@SPLITER,@STR,@POS)
            IF (@NEXT_POS=0 OR @NEXT_POS IS NULL)
            BEGIN
                SELECT @NEXT_POS=LEN(@STR)+1
                
                INSERT INTO @TB VALUES(RTRIM(LTRIM(SUBSTRING(@STR,@POS,@NEXT_POS-@POS))))
                
                SELECT @POS=@NEXT_POS +1
            END
            
        END
        RETURN
    END

猜你喜欢

转载自www.cnblogs.com/lightpro/p/10516936.html