现有一个数据库,不同物件有不同编号,如6-1-1-001,6代表第一大类,后两个1代表两个小类,001代表这种物件的数量编号。现在假设这个物件的第二小类编号由1变成成了3,请问如何将编号其他部分不变,而改变的部分批量改变,就是将原来的6-1-1-001到6-1-1-xxx批量改为6-3-1-001到6-3-1-xxx,请大家帮忙。这个编号是一个字段

解决方案 »

  1.   

    可以用数据库来做,但是我不知道你用的是什么数据库,不同的数据库的系统函数不同,大致做法:左取X位(这里就要灵活设定了,看看你的数量编号是多少位的),得到Y,如6-1-1-001,则X=6,Y=‘001’;然后就简单了//oracle
    update table set fieldName=‘6-3-1-’+substr(fieldname,1,6) 
    where to_Char(fieldname)>=6-1-1-001 and to_Char(fieldname)<=6-1-1-XXX
      

  2.   

    要是用DELPHI来写 就稍微麻烦些 但是思路差不多的
      

  3.   

    谢谢,我是希望用delphi来写,而不是直接在数据库里改