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 이상에서 작동합니다.
답변
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;
나는 이것을 변경에 사용합니다.
답변
엔터프라이즈 관리자, 디자인 테이블로 이동하여 해당 분야를 클릭하십시오.
소수 열 만들기
하단의 속성에는 정밀도 속성이 있습니다.