Có cách nào để thay đổi độ chính xác của cột thập phân hiện có trong Sql Server không?
Có cách nào để thay đổi độ chính xác của cột thập phân hiện có trong Sql Server không?
Câu trả lời:
ALTER TABLE Testing ALTER COLUMN TestDec decimal(16,1)
Chỉ cần đặt decimal(precision, scale)
, thay thế độ chính xác và tỷ lệ bằng các giá trị mong muốn của bạn.
Tôi chưa thực hiện bất kỳ thử nghiệm nào với điều này với dữ liệu trong bảng, nhưng nếu bạn thay đổi độ chính xác, bạn sẽ có thể bị mất dữ liệu nếu độ chính xác mới thấp hơn.
Có thể có một cách tốt hơn, nhưng bạn luôn có thể sao chép cột đó vào một cột mới, thả nó và đổi tên cột mới thành tên của cột đầu tiên.
hóm hỉnh:
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
Điều này đã được thử nghiệm trên SQL Server 2008 R2, nhưng sẽ hoạt động trên SQL Server 2000+.
Vào quản lý xí nghiệp, bảng thiết kế, bấm vào lĩnh vực của bạn.
Tạo cột thập phân
Trong các thuộc tính ở dưới cùng có một thuộc tính chính xác