programing

Microsoft SQL Server에서 10진수 열의 정밀도를 변경하려면 어떻게 해야 합니까?

i4 2023. 4. 11. 21:39
반응형

Microsoft SQL Server에서 10진수 열의 정밀도를 변경하려면 어떻게 해야 합니까?

Microsoft SQL Server에서 기존 10진수 열의 정밀도를 변경할 수 있는 방법이 있습니까?

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); 

Oracle 10G 이상에서는 다음 문장이 작동합니다.

ALTER TABLE <TABLE_NAME> MODIFY <COLUMN_NAME> <DATA_TYPE>

현재 데이터 유형이 NUMBER(5,2)이고 NUMBER(10,2)로 변경하는 경우 다음 문구가 있습니다.

ALTER TABLE <TABLE_NAME> MODIFY <COLUMN_NAME> NUMBER(10,2)

언급URL : https://stackoverflow.com/questions/120083/how-do-i-alter-the-precision-of-a-decimal-column-in-microsoft-sql-server

반응형