现在我想由程序自动来生成编号,生成后要求是前二位为用户可以修改的英文,后6位为递增的数字,但用户可以随时修改这个数字的起始量。比如本来是AW100000,AW100001..用户可以修改成BW100200,修改后以前编号我必需以BW100201,BW100202...这样自动编号下去,请问这要如何解决?

解决方案 »

  1.   

    declare @MaxNum varchar(8)
    set @MaxNum = IsNull((select max(your_number) from your_table), 'AW000000')
    select (Left(@MaxNum, 2) + Right('000000' + convert(varchar(6), convert(int, Right(@MaxNum, 6)) + 1), 6)) as NewNumber
      

  2.   

    另取一个自增列id,
    然后每次取表中最大的id行你的编号字段,可以得到是AW,还是BW,
    然后后面6位加1就是了.
      

  3.   

    to smilelhh(blue),你没有看清楚楼主的问题,起始编号的字母和数字都是由用户定义的,自增编号显然不能满足数字部分的要求