¿Hay alguna forma de alterar la precisión de una columna decimal existente en Sql Server?
¿Hay alguna forma de alterar la precisión de una columna decimal existente en Sql Server?
Respuestas:
ALTER TABLE Testing ALTER COLUMN TestDec decimal(16,1)
Simplemente decimal(precision, scale)
, reemplace la precisión y la escala con los valores deseados.
No he realizado ninguna prueba con esto con los datos de la tabla, pero si altera la precisión, estaría sujeto a perder datos si la nueva precisión es menor.
Puede haber una mejor manera, pero siempre puede copiar la columna en una nueva columna, soltarla y cambiar el nombre de la nueva columna de nuevo al nombre de la primera columna.
esto es:
ALTER TABLE MyTable ADD NewColumnName DECIMAL(16, 2);
GO
UPDATE MyTable
SET NewColumnName = OldColumnName;
GO
ALTER TABLE CONTRACTS DROP COLUMN OldColumnName;
GO
EXEC sp_rename
@objname = 'MyTable.NewColumnName',
@newname = 'OldColumnName',
@objtype = 'COLUMN'
GO
Esto se probó en SQL Server 2008 R2, pero debería funcionar en SQL Server 2000+.
Vaya al administrador de la empresa, tabla de diseño, haga clic en su campo.
Haz una columna decimal
En las propiedades en la parte inferior hay una propiedad de precisión