sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man ändrar en kolumns datatyp i SQL Server (T-SQL)

När du skapar en databastabell anger du alla kolumner tillsammans med deras datatyper. När de väl har skapats finns det normalt ingen avsikt att ändra dessa datatyper. När allt kommer omkring skulle den som utformade schemat ha tänkt mycket på vilken datatyp varje kolumn ska acceptera.

Men vi vet alla att saker och ting kan förändras. Trots våra bästa ansträngningar för att försöka förutse alla möjliga scenarion som kan drabba vår databas, räcker det ibland inte.

Så vad gör vi om vi behöver använda Transact-SQL för att ändra datatypen för en kolumn i SQL Server?

Vi använder ALTER TABLE uttalande för att ändra det naturligtvis.

Exempel

Här är ett exempel på hur du använder T-SQL ALTER TABLE uttalande för att ändra datatypen för en kolumn:

ALTER TABLE Tasks ALTER COLUMN TaskCode char(6);GO

Detta ändrar tabellen som heter Tasks , genom att ändra dess TaskCode kolumnen till en datatyp char(6) . Observera att det inte finns något behov av att ange vilken datatyp som används vara – du anger helt enkelt den nya datatypen och är klar med den. SQL Server gör resten.

Kontrollera resultaten

Du kan kontrollera resultatet genom att fråga INFORMATION_SCHEMA.COLUMNS :

ANVÄND lösningar;VÄLJ COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH SOM MAX_LENGTH, CHARACTER_OCTET_LENGTH SOM OCTET_LENGTHFROM INFORMATION_SCHEMA.COLUMNSWHERE TABLE_NAME ='Tasks'AND 'Tpre>COLUMN_NAME =';Code 

Resultat:

COLUMN_NAME DATA_TYPE MAX_LENGTH OCTET_LENGTH----- ---------- ---------- ------------TaskCode char 6 6 


  1. Hur avkodar man PostgreSQL bytea kolumn hex till int16/uint16 i r?

  2. MySQL:@variabel vs variabel. Vad är skillnaden?

  3. Android Room - Hur man återställer automatisk genererad tabell primärnyckel vid varje appkörning

  4. Det mest eleganta sättet att generera permutationer i SQL-server