sql 折分字符串并修改数据库表中数据
SELECT * FROM dbo.aabb

UPDATE dbo.aabb SET 
    bb=dbo.fun_GetName(aaa,1)
    , cc=dbo.fun_GetName(aaa,2)
    , dd=dbo.fun_GetName(aaa,3)

--第一个参数   要拆分的字符串
--第二个参数   要拆分第几个,如'aa,bb,cc' 这个字符串中的bb就是要拆分的第2个
CREATE FUNCTION fun_GetName ( @Name VARCHAR(200),@pos int )
RETURNS VARCHAR(50)  -- 返回一个字符串
AS 
    BEGIN
        DECLARE @i int
        DECLARE @ret VARCHAR(50)
        SET @i=0
        
        WHILE(CHARINDEX(',',@Name,1)>0)
           
        BEGIN
            SET @i=@i+1
            IF(@i=@pos)
               SET @ret=LEFT(@name,CHARINDEX(',',@Name,1)-1)
            SET @name=RIGHT(@name,LEN(@name)-CHARINDEX(',',@Name,1))            
        END
        
        RETURN @ret
end

 

 没有修改前的数据样子

修改后的数据样子

posted on 2012-05-08 18:15  bin790302901  阅读(311)  评论(0编辑  收藏  举报