Gibt es eine Möglichkeit, die Genauigkeit einer vorhandenen Dezimalspalte in SQL Server zu ändern?
sql-server
Andrew Jones
quelle
quelle
Es gibt vielleicht einen besseren Weg, aber Sie können die Spalte jederzeit in eine neue Spalte kopieren, löschen und die neue Spalte wieder in den Namen der ersten Spalte umbenennen.
nämlich:
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
Dies wurde unter SQL Server 2008 R2 getestet, sollte jedoch unter SQL Server 2000+ funktionieren.
quelle
ALTER TABLE (Your_Table_Name) MODIFY (Your_Column_Name) DATA_TYPE();
Für Ihr Problem:
ALTER TABLE (Your_Table_Name) MODIFY (Your_Column_Name) DECIMAL(Precision, Scale);
quelle
ALTER TABLE `tableName` CHANGE `columnName` DECIMAL(16,1) NOT NULL;
Ich benutze dies für die Änderung
quelle
Gehen Sie zu Enterprise Manager, Designtabelle und klicken Sie auf Ihr Feld.
Machen Sie eine Dezimalspalte
In den Eigenschaften unten befindet sich eine Präzisionseigenschaft
quelle