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



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

411   5  

5 ответов:

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

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

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

ALTER TABLE (Your_Table_Name) MODIFY (Your_Column_Name) DECIMAL(Precision, Scale); 
ALTER TABLE `tableName` CHANGE `columnName` `columnName` DECIMAL(16,1) NOT NULL;

Я использую это для alterration

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

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

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

Comments

    Ничего не найдено.