Есть ли способ изменить точность существующего десятичного столбца в Sql Server?
Есть ли способ изменить точность существующего десятичного столбца в Sql Server?
Ответы:
ALTER TABLE Testing ALTER COLUMN TestDec decimal(16,1)
Просто поставьте decimal(precision, scale)
, заменив точность и масштаб желаемыми значениями.
Я не тестировал это с данными в таблице, но если вы измените точность, вы потеряете данные, если новая точность будет ниже.
Может быть лучший способ, но вы всегда можете скопировать столбец в новый столбец, отбросить его и переименовать новый столбец обратно в имя первого столбца.
а именно:
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
Это было протестировано на SQL Server 2008 R2, но должно работать на SQL Server 2000+.
Зайдите в менеджер предприятия, составьте таблицу, щелкните свое поле.
Сделайте десятичный столбец
В свойствах внизу есть свойство точности