码迷,mamicode.com
首页 > 数据库 > 详细

SQL 分隔字符串

时间:2015-11-18 14:21:47      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:

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

 

SQL 分隔字符串

标签:

原文地址:http://www.cnblogs.com/ilookbo/p/4974201.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!