Подтвердить что ты не робот

Как изменить точность десятичного столбца на Sql Server?

Есть ли способ изменить точность существующего десятичного столбца на сервере Sql?

4b9b3361

Ответ 1

ALTER TABLE Testing ALTER COLUMN TestDec decimal(16,1)

Просто поместите decimal(precision, scale), заменив точность и масштаб на нужные вам значения.

Я не тестировал это с данными в таблице, но если вы измените точность, вы потеряете данные, если новая точность будет ниже.

Ответ 2

Может быть лучший способ, но вы всегда можете скопировать столбец в новый столбец, отбросить его и переименовать новый столбец обратно в имя первого столбца.

чтобы:

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 +.

Ответ 3

ALTER TABLE (Your_Table_Name) MODIFY (Your_Column_Name) DATA_TYPE();

Для вас проблема:

ALTER TABLE (Your_Table_Name) MODIFY (Your_Column_Name) DECIMAL(Precision, Scale); 

Ответ 4

Перейдите в корпоративный менеджер, таблицу проектирования, нажмите на свое поле.

Сделать десятичный столбец

В свойствах внизу есть свойство точности

Ответ 5

ALTER TABLE 'tableName' CHANGE  'columnName' DECIMAL(16,1) NOT NULL;

Я использую это для переделки