在Postgres Server中将正数据转换为negetive数据(整列)

时间:2016-02-13 09:43:13

标签: sql postgresql

我表中的当前数据是:

  a   b
---------  
 -1   5
 -11  2   
 -5  32

我的要求是将a列的每个数据转换为负值。

但是如何将正值更新为负值选择整列?

3 个答案:

答案 0 :(得分:9)

试试这个:

 Update table set a= 0-a where a >0

答案 1 :(得分:6)

UPDATE mytable SET a = a * -1;

这会将' a'中的所有值相乘。由-1。现在,如果价值已经是负数,它将变为正数。您要确保他们总是否定,请执行以下操作:

UPDATE mytable SET a = a * -1 WHERE a > 0;

答案 2 :(得分:0)

正如@a_horse_with_no_name 在他的评论中提到的那样,直接的解决方案是:

要否定所有现有值:

UPDATE mytable SET a = -a;

如果你想确保所有值都是负数:

UPDATE mytable SET a = -a where a > 0;