zoukankan      html  css  js  c++  java
  • SQL 分隔字符串

    ALTER FUNCTION dbo.fn_Split
    (
        @Expression    VARCHAR(8000),
        @Delimiter    VARCHAR(10)
    )
    RETURNS @table_Value    TABLE
    (
        SortNo    INT IDENTITY(1,1) NOT NULL,
        Value    VARCHAR(50) COLLATE SQL_Latin1_General_CP1_CI_AS DEFAULT ''
    )
    AS
    
    BEGIN
        --============ DECLARE LOCAL VARIABLE TO USE  ===============================
        DECLARE @intEndpos    BIGINT
        DECLARE @strTemp        VARCHAR(100) 
        --============ INITIALIZE  THE VALUE OF VARIABLE ==============================
        SET @intEndpos = 0
        SET @strTemp = ''
    
        --============= CHECK INPUT DATA VALIDATE ==========================
        IF LEN( LTRIM(RTRIM(@Expression ) ) ) = 0
        BEGIN
            RETURN
        END
        IF LEN(@Delimiter) = 0
        BEGIN
            RETURN
        END
    
        --============= Split and INSERT ========================================
        IF RIGHT ( @Expression, 1) = @Delimiter
            SET @Expression = LEFT ( @Expression , LEN (@Expression) -1 )
    
        WHILE LEN(@Expression) > 0
        BEGIN
            SET @intEndpos = CHARINDEX(@Delimiter,@Expression,1) 
            IF @intEndpos > 0
            BEGIN
                SET @strTemp = SUBSTRING(@Expression , 1 , @intEndpos -1)
                INSERT INTO @table_Value(Value) VALUES (@strTemp)
                SET @Expression = SUBSTRING ( @Expression , @intEndpos + 1, LEN (@Expression) - @intEndpos)
            END
            ELSE
            BEGIN
                INSERT INTO @table_Value(Value) VALUES (@Expression)
                SET @Expression = ''
            END
        END
    
        RETURN
    END
  • 相关阅读:
    实习日记11
    实习日记10
    实习日记9
    实习日记7
    我自己的颜色库
    实习日记5
    实习日记4
    算法导论2:几个习题 2016.1.2
    算法导论1:插入排序和归并排序 2016.1.1
    和算法导论没什么关系0.手电筒过桥问题详解
  • 原文地址:https://www.cnblogs.com/ilookbo/p/4974201.html
Copyright © 2011-2022 走看看