Ändra kolumner
gäller för: SQL Server 2016 (13.x) och senare
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-databas i Microsoft Fabric
Du kan ändra datatypen för en kolumn i SQL Server med hjälp av SQL Server Management Studio eller Transact-SQL.
Varning
Om du ändrar datatypen för en kolumn som redan innehåller data kan det leda till permanent dataförlust när befintliga data konverteras till den nya typen. Dessutom kan kod och program som är beroende av den ändrade kolumnen misslyckas. Dessa omfattar frågor, vyer, lagrade procedurer, användardefinierade funktioner och klientprogram. Dessa fel kommer att sprida sig. En lagrad procedur som anropar en användardefinierad funktion som är beroende av den ändrade kolumnen kan till exempel misslyckas. Överväg noggrant eventuella ändringar som du vill göra i en kolumn innan du gör det.
Behörigheter
Kräver ALTER-behörighet på tabellen.
Använda SQL Server Management Studio (SSMS)
Ändra datatypen för en kolumn med hjälp av SSMS
I Object Explorerhögerklickar du på tabellen med kolumner som du vill ändra skalan för och väljer Design.
Välj den kolumn som du vill ändra datatypen för.
På fliken Kolumnegenskaper väljer du rutnätscellen för egenskapen datatyp och väljer en ny datatyp i listrutan.
På menyn Arkiv väljer du Sparatabellnamn.
Notera
När du ändrar datatypen för en kolumn tillämpar Table Designer standardlängden för den datatyp som du har valt, även om du redan har angett en annan. Ange alltid datatypslängden för till önskat värde när du har angett datatypen.
Varning
Om du försöker ändra datatypen för en kolumn som relaterar till andra tabeller, ber Tabelldesignern dig att bekräfta att ändringen även ska göras i kolumnerna i de andra tabellerna.
Använd Transact-SQL
Ändra datatypen för en kolumn med hjälp av Transact-SQL
I Object Exploreransluter du till en instans av databasmotorn.
I standardfältet väljer du Ny fråga.
Kopiera och klistra in följande exempel i frågefönstret och välj Kör.
CREATE TABLE dbo.doc_exy (column_a INT ); GO INSERT INTO dbo.doc_exy (column_a) VALUES (10); GO ALTER TABLE dbo.doc_exy ALTER COLUMN column_a DECIMAL (5, 2); GO
Mer information om hur du använder ALTER TABLE
för att ändra kolumner finns i ALTER TABLE column_definition.