Чи є спосіб змінити точність існуючого десяткового стовпця на 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+.
Перейдіть до менеджера підприємства, таблиці дизайну, натисніть на своє поле.
Складіть десятковий стовпець
У властивостях внизу є властивість точності