2010-02-17 80 views
5

有人将一大堆数字数据输入到一个表格中,并将符号向后。SQL更新来翻转值的符号?

是否有一种干净的方式来翻转数字列中的符号与SQL语句?

+1

不管你做什么,一定要做一个“BEGIN TRANSACTION”,这样你就可以快速的将它推回去。 :-) –

回答

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

它应该是直截了当的。

update table set column = -column; 
4

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

根据需要限制哪些行你在翻转的迹象,您可以添加WHERE条款。

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

通过包含amount = ABS(amount)子句,可以防止不必要的日志活动和索引维护。只更新实际需要的行总是一个好主意。

+0

这只会使所有金额为正数,而不会将正数交换为负数。 –

+0

已更新。感谢您的支票。 – harschware