update 表 set 收费编号=left(收费编号,2)+right(10001+cast(right(收费编号,4) as int),4)

解决方案 »

  1.   

    --测试--测试数据
    declare @t table(收费编号 varchar(10),用户姓名 varchar(10))
    insert @t select '010001','AAA'
    union all select '010002','BBB'
    union all select '010003','BBB'--更新
    update @t set 收费编号=left(收费编号,2)+right(10001+cast(right(收费编号,4) as int),4)--显示更新结果
    select * from @t/*--测试结果
    收费编号       用户姓名       
    ---------- ---------- 
    010002     AAA
    010003     BBB
    010004     BBB(所影响的行数为 3 行)
    --*/
      

  2.   

    --还可以这样:update 表 set 收费编号=left(收费编号,2)+right(10001+right(收费编号,4),4)
      

  3.   

    再问:反过来又如何实现即收费编号,用户姓名010002  AAA
    010003  BBB
    010004  BBB
    ...       ...用语句改为:收费编号,用户姓名010001  AAA
    010002  BBB
    010003  BBB
    ...       ...