Есть ли способ изменить точность существующего десятичного столбца в Sql Server?
sql-server
Эндрю Джонс
источник
источник
Может быть лучший способ, но вы всегда можете скопировать столбец в новый столбец, отбросить его и переименовать новый столбец обратно в имя первого столбца.
а именно:
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` DECIMAL(16,1) NOT NULL;
Я использую это для переделки
источник
Зайдите в менеджер предприятия, составьте таблицу, щелкните свое поле.
Сделайте десятичный столбец
В свойствах внизу есть свойство точности
источник