sql >> Database teknologi >  >> RDS >> Sqlserver

Sådan ændres en kolonnes datatype i SQL Server (T-SQL)

Når du opretter en databasetabel, angiver du alle kolonner sammen med deres datatyper. Når først oprettet, er der normalt ikke nogen intention om at ændre disse datatyper. Når alt kommer til alt, ville den, der har designet skemaet, have tænkt meget over, hvilken datatype hver eneste kolonne skal acceptere.

Vi ved dog alle, at tingene kan ændre sig. På trods af vores bedste indsats for at forsøge at forudse alle mulige scenarier, der kan ramme vores database, er det nogle gange ikke nok.

Så hvad gør vi, hvis vi skal bruge Transact-SQL til at ændre datatypen for en kolonne i SQL Server?

Vi bruger ALTER TABLE erklæring for at ændre det selvfølgelig.

Eksempel

Her er et eksempel på brug af T-SQL ALTER TABLE sætning for at ændre datatypen for en kolonne:

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

Dette ændrer tabellen kaldet Tasks , ved at ændre dens TaskCode kolonne til en datatype char(6) . Bemærk, at det ikke er nødvendigt at angive, hvilken datatype brugte at være – du angiver blot den nye datatype og er færdig med den. SQL Server klarer resten.

Tjek resultaterne

Du kan kontrollere resultatet ved at forespørge INFORMATION_SCHEMA.COLUMNS :

USE Solutions;SELECT COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH AS MAX_LENGTH, CHARACTER_OCTET_LENGTH AS OCTET_LENGTHFROM INFORMATION_SCHEMA.COLUMNSWHERE TABLE_NAME ='Opgaver'AND 'Task_NAME =';Code 

Resultat:

COLUMN_NAME DATA_TYPE MAX_LENGTH OCTET_LENGTH---------------- ---------- ---------- ------------Opgavekode char 6 6 


  1. Oracle RAC på tredjepartsskyer

  2. Sådan vælger du et undersæt af kolonner fra en lagret procedures resultatsæt (T-SQL)

  3. Organiser dit hjemmekontor for øget produktivitet

  4. Fremmednøgle med flere kolonner i MySQL?