如今天是2005年7月21日,我的表中有一字段采购单号,当是该天的第一条记录时,“采购单号”为200507210001,如果是第二条记录则为200507210002。即如何把日期中分隔年月日的横线去掉

解决方案 »

  1.   

    FormatDateTime('YYYYMMDD', Now());
      

  2.   

    用下面的语句即可得到当天的最大单号,如当天的日期为2005-07-20
    那么:
    select max(orderno) from tablename where orderno like '20050720%';如果查询出来没有结果,那么就得到200507200001
    否则则为:
      '20050720' + format('.04d',[StrToInf(copy('200507200001',8,MAXINT))]);
      

  3.   

    那么如何判断是当天的第一条记录还是第几条记录?如果是第一条就加0001,是第二条就加0002,后面的4位数如何加?
    ============================
    s:='0001';
    a:=StrToInt(s)+10001;
    s:=Copy(IntToStr(a),2,4);
      

  4.   

    楼楼上的那个format漏掉了个百分号(%)
    '20050720' + format('%.04d',[StrToInf(copy('200507200001',8,MAXINT))]);
      

  5.   

    应该是:'20050720' + format('%.04d',[StrToInt(copy('200507200001',8,MAXINT))]);