怎么将一组带有字母和数字的连续记录查找其最大值。
如:DB001,DB002,DB003,DB004,DB005怎么样才能查找到最大的值是DB005呢。
并且能不能实现自动加1,生成DB006?请各位高手指点一下。
谢谢!!

解决方案 »

  1.   

    select max(field) as MAX_1 from TablaName
      

  2.   

    生成新的
    FUNCTION GETNEWID(OLDSTR:STRING):STRING;
    BEGIN//OLDSTR:=FIELDBYNAME('MAX_FIELD').ASSTRING;NEWID:=STRTOINT(COPY(OLDSTR,3,3))+1;IF NEWID>99 THEN 
      NEWSTR:='DB'+INTTOSTR(NEWID) 
    ELSE 
      IF NEWID >9 AND NEWID < 99 THEN
      NEWSTR:='DB0'+INTTOSTR(NEWID)
      ELSE NEWSTR:='DB00'+INTTOSTR(NEWID);RESULT:=NEWSTR;
    END;
      

  3.   

    select max(field) as MAX_1 from TablaName
      

  4.   

    补充一下,如果在记录里面不止有一种字母。
    例如:DB001,DB002,CB001,CB002
    怎么办呢?
    请说的详细一点!
    先行谢过!
      

  5.   

    试试看,只供参考
    select max(cast(right(field,len(field)-2) as int)) as MAX_1 from TablaName
      

  6.   

    自己写一个字母检测的小程序.
    用ASC码判断哪些是字母哪些是数字,定位,拷贝出数字字符,转换为数值型,增加1.