2016-02-13 5 views
5

現在のデータをnegetiveデータに正のデータ(列全体を)変換である:私のテーブルにPostgresのサーバに

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

私の要求が負の値に列Aのすべてのデータを変換することです。

しかし、どのように列全体を選択し、負に正の値を更新するには?これは、 '' -1のすべての値を乗算し

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

答えて

7

はこれを試してみてください。さて、値が既に負の場合、それは正になります。これに基づき

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

+0

:あなたは、彼らが常に負であることを確認し、これをやりたい「しかし、列全体を選択し、負に正の値を更新する方法?」負の値が正になるので、あなたの答えは間違っていませんか? – Nicarus

+0

私はそれを改善しました。 –

+1

あなたは、単に '設定使用することができます= -a' –

6

UPDATE mytable SET a = a * -1;

+1

乗算の不要で0-A = -aは、' = -a'行いますうまく設定が '0'の事は必要ありません –