Dela via


Ändra kolumner

gäller för: SQL Server 2016 (13.x) och senare Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics 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

  1. I Object Explorerhögerklickar du på tabellen med kolumner som du vill ändra skalan för och väljer Design.

  2. Välj den kolumn som du vill ändra datatypen för.

  3. På fliken Kolumnegenskaper väljer du rutnätscellen för egenskapen datatyp och väljer en ny datatyp i listrutan.

  4. 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

  1. I Object Exploreransluter du till en instans av databasmotorn.

  2. I standardfältet väljer du Ny fråga.

  3. 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.

Nästa steg