2010-02-17 19 views
5

Alguien ingresó una tonelada de datos numéricos en una tabla con el cartel al revés.SQL ¿Actualizar para voltear el signo de un valor?

¿Hay una manera limpia de voltear el signo en la columna numérica con una instrucción SQL?

+1

Hagas lo que hagas, asegúrate de hacer una "BEGIN TRANSACTION" para que puedas retroceder rápidamente si lo estropeas. :-) –

Respuesta

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

Debe ser sencillo.

update table set column = -column; 
4

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

Puede añadir una cláusula WHERE como sea necesario para limitar las filas que usted está hojeando signos sucesivamente.

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

Al incluir la cantidad = cláusula ABS (amount) se evita la actividad de registro innecesaria y el mantenimiento del índice. Siempre es una buena idea actualizar solo las filas que realmente lo necesitan.

+0

esto solo hará que todas las cantidades sean positivas y no intercambie las positivas por negativas. –

+0

Actualizado. Gracias por el cheque. – harschware

Cuestiones relacionadas