C'è un modo per modificare la precisione di una colonna decimale esistente in Sql Server?
C'è un modo per modificare la precisione di una colonna decimale esistente in Sql Server?
Risposte:
ALTER TABLE Testing ALTER COLUMN TestDec decimal(16,1)
decimal(precision, scale)Metti semplicemente , sostituendo la precisione e la scala con i valori desiderati.
Non ho eseguito alcun test con questo con i dati nella tabella, ma se modifichi la precisione, potresti perdere i dati se la nuova precisione è inferiore.
Potrebbe esserci un modo migliore, ma puoi sempre copiare la colonna in una nuova colonna, rilasciarla e rinominare la nuova colonna con il nome della prima colonna.
vale a dire:
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
Questo è stato testato su SQL Server 2008 R2, ma dovrebbe funzionare su SQL Server 2000+.
Vai a gestore aziendale, tabella dati, fai clic sul tuo campo.
Crea una colonna decimale
Nelle proprietà in basso c'è una proprietà di precisione