解决方案 »

  1. update CAR t
    set t.longitude=(select longitude from car where carid =substr(t.carid,1,instr(t.carid,'-',-1)-1)||'-1'),
    t.latitude=(select latitude from car where carid =substr(t.carid,1,instr(t.carid,'-',-1)-1)||'-1')
    where t.carid like '%-2';
      

  2. SELECT SUBSTR('123', -2) FROM DUAL;UPDATE TABLE_NAME AA
       SET AA.LONGITUDE =
           (SELECT LONGITUDE
              FROM TABLE_NAME
             WHERE REPLACE(CARID, SUBSTR(CARID, -2), '') = 
                   REPLACE(AA.CARID, SUBSTR(AA.CARID, -2), '')--除去最后两位 车牌号相同的
               AND SUBSTR(CARID, -2) = '-1'),--最后两位为-1
           AA.LATITUDE =
           (SELECT LATITUDE
              FROM TABLE_NAME
             WHERE REPLACE(CARID, SUBSTR(CARID, -2), '') =
                   REPLACE(AA.CARID, SUBSTR(AA.CARID, -2), '')
               AND SUBSTR(CARID, -2) = '-1')
     WHERE SUBSTR(AA.CARID, -2) = '-2';--最后两位为-2只提供思路,请见谅
      

类似问题 »