2010-02-17 16 views
5

Jemand hat eine Menge numerischer Daten in eine Tabelle mit dem Zeichen rückwärts eingegeben.SQL Update zum Umkehren eines Wertes?

Gibt es eine saubere Möglichkeit, das Zeichen in der numerischen Spalte mit einer SQL-Anweisung umzukehren?

+1

Was auch immer Sie tun, stellen Sie sicher, dass Sie eine "BEGIN TRANSACTION" machen, damit Sie es schnell zurückrollen können, wenn Sie es vermasseln. :-) –

Antwort

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

Es sollte einfach sein.

update table set column = -column; 
4

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

können Sie eine WHERE Klausel hinzufügen, auf welche Zeilen Sie spiegeln Zeichen benötigt zu begrenzen.

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

Durch die Einbeziehung der Klausel Betrag = ABS (Betrag) verhindern Sie unnötige Protokollaktivität und Indexpflege. Es ist immer eine gute Idee, nur die Zeilen zu aktualisieren, die sie tatsächlich benötigen.

+0

das wird nur alle Beträge positiv machen und nicht die positiven auf negative umtauschen. –

+0

Aktualisiert. Danke für den Scheck. – harschware

Verwandte Themen