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?
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?
update my_table
set amount = -amount
where <whatever>
Debe ser sencillo.
update table set column = -column;
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.
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.
esto solo hará que todas las cantidades sean positivas y no intercambie las positivas por negativas. –
Actualizado. Gracias por el cheque. – harschware
Hagas lo que hagas, asegúrate de hacer una "BEGIN TRANSACTION" para que puedas retroceder rápidamente si lo estropeas. :-) –