SQL语句--一个简单的字符串分割函数

CREATE FUNCTION dbo.f_splitstr(
    @str varchar(8000)
)RETURNS @r TABLE(id int IDENTITY(1, 1), value varchar(5000))
AS
BEGIN
 /* Function body */
    DECLARE @pos int
    SET @pos = CHARINDEX(',', @str)
    WHILE @pos > 0
    BEGIN
        INSERT @r(value) VALUES(LEFT(@str, @pos - 1))
        SELECT
            @str = STUFF(@str, 1, @pos, ''),
            @pos = CHARINDEX(',', @str)
    END
    IF @str > ''
        INSERT @r(value) VALUES(@str)
    RETURN

END

select * from f_splitstr('中,国,人')

 

----------结果---------------

 

posted @ 2011-10-08 10:40  左小夕  阅读(521)  评论(0编辑  收藏  举报