Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Ändern Sie den Spaltentyp, ohne Daten zu verlieren

Sie müssen nicht zweimal eine neue Spalte hinzufügen, entfernen Sie einfach die alte, nachdem Sie die neue aktualisiert haben:

ALTER TABLE table_name ADD new_column_name decimal(18,2)

update table_name
set new_column_name = convert(decimal(18,2), old_column_name)

ALTER TABLE table_name DROP COLUMN old_column_name

Beachten Sie, dass wenn der old_column_name nicht numerisch ist, der convert kann fehlschlagen.