2010-02-17 11 views
5

Qualcuno ha inserito una tonnellata di dati numerici in una tabella con il segno all'indietro.SQL Update per capovolgere il segno di un valore?

C'è un modo pulito per capovolgere il segno nella colonna numerica con un'istruzione SQL?

+1

Qualunque cosa tu faccia, assicurati di fare una "OPERAZIONE INIZIALE" in modo da poterlo rapidamente ritirare se lo rovini. :-) –

risposta

10
update my_table 
    set amount = -amount 
    where <whatever> 
2

Dovrebbe essere semplice.

update table set column = -column; 
4

UPDATE [table] SET [column]=([column]*(-1))

È possibile aggiungere una clausola WHERE come necessario per limitare le righe si sta sfogliando segni su.

0
UPDATE MyTable 
SET amount = -amount 
WHERE amount = ABS(amount) 

Includendo l'importo = clausola ABS (importo) si evita l'attività di registro non necessaria e la manutenzione dell'indice. È sempre una buona idea aggiornare solo le righe che effettivamente ne hanno bisogno.

+0

questo renderà solo tutti gli importi positivi e non scambierà i positivi con i negativi. –

+0

aggiornato. Grazie per il controllo. – harschware

Problemi correlati