Pravin Satav Pravin Satav - 1 month ago 8
SQL Question

Positive value to negative and negative to positive in oracle

I have a requirement to convert postive value to negative and negative to positive and if its 0 then leave as it is. Im able to do it in sql, just need to know if there is any better way/alternate way to do it?

create table test_tab
(a number);

insert into test_tab values (10);
insert into test_tab values (-10);
insert into test_tab values (0);
insert into test_tab values (10.15);
insert into test_tab values (-10.15);

select a , decode(sign(a),-1,abs(a),1,-abs(a),0) "changed value" from test_tab;


Database Oracle - 11g

Answer

What about multiplying with -1 ?

select a
,      -1 * a "changed value"
from   test_tab;
Comments