表A
----------
字段a  字段b
 1      -3
 2       5
 3       9
 4      -10
 。       。
 。       。
 。       。怎么将表A中的 字段b 负值更新为正值,
而更新后的查询sum(字段b),还和未更新时的SUM(字段b)结果相同
怎么实现。
谢谢大家。。 

解决方案 »

  1.   

    我倒...你更新为正值还要求和跟原来一样,最好再加个字段判断为正和负,求和的时候用decode根据那个字段来判断
      

  2.   

    SELECT replace(b,'-','') FROM a 试试。
      

  3.   

    alter table a add c number;
    update a set c=case when b>0 then 1 else 0 end;
    update a set b=abs(b);
    select sum(decode(c,0,-b,b)) from a;
      

  4.   

    我觉的3楼的想法不错,如果你只是为了查询时全显示为正数的话,可以用取绝对值的方法,好象是abs函数,然后sum时候就可以直接从数据库中取值
      

  5.   

    他的意思是,让我从比较大的整数减去 2*(更新为整数的负数),sum()值就一样了。 但是不知道具体怎么实现~!`
      

  6.   

    必须先用UPDATE , 然后再用SELECT~~ 谢谢你`
      

  7.   

    update a set b=0-b where b<0;