作息编号
2010831ZX001  
2010831ZX002
前面是时间 20100831 当前日期
后面是zx 固定  
在后面是001 002 加一
在插入的时候如何插入2010831ZX003 这是自动的 不是人为的输入
如插入20101122ZX001  http://topic.csdn.net/u/20101122/14/c07bc3d7-acb8-4cbd-9540-5bf0b745281b.html?seed=1794045667&r=70049860这是数据库版块

解决方案 »

  1.   


    select right('2010831ZX001',3)  --001得到001 
    然后转成数字型select cast(right('2010831ZX001',3) as int)  --1然后再加1 即可
      

  2.   

    我是新手 不会附加 请trim()说说
      

  3.   

    select
    case when b.nowDate=left(a.buy_code,8)
    then left(a.buy_code,10)+
    (case len(convert(varchar(3),(convert(int,right(a.buy_code,3))+1)))
    when 1 then '00'+convert(varchar(3),(convert(int,right(a.buy_code,3))+1))
    when 1 then'0'+convert(varchar(3),(convert(int,right(a.buy_code,3))+1))  
    else convert(varchar(3),(convert(int,right(a.buy_code,3))+1)) end  

    else b.nowDate+'ZX001' end as code
    from (select max(buy_code) as buy_code from fam_print_buy) a,
    (select Convert(varchar(36),getdate(),112) as nowDate)b