sql >> Database >  >> RDS >> Sqlserver

De grootte van een kolom in SQL Server (T-SQL) wijzigen

Als u SQL Server gebruikt en T-SQL wilt gebruiken om de grootte van een bestaande kolom te wijzigen, kan dit artikel helpen.

Met "de grootte van een bestaande kolom wijzigen", bedoel ik het wijzigen van de gegevensgrootte. Stel bijvoorbeeld dat u een varchar(255) . heeft maar u wilt de grootte vergroten tot varchar(500) . Dit is wat u in dat geval moet doen.

De ALTER TABLE-instructie

Als je dit doet met T-SQL, moet je de ALTER TABLE gebruiken uitspraak. Met deze instructie kunt u de definitie van een tabel wijzigen nadat deze al is gemaakt (en mogelijk ook gegevens bevat).

Hier is een voorbeeld van het wijzigen van de grootte van een bestaande kolom:

ALTER TABLE Tasks
    ALTER COLUMN TaskDescription varchar(500);
GO

Dit voorbeeld wijzigt de Tasks tabel door de grootte van de TaskDescription . te wijzigen kolom.

Dit veronderstelt uiteraard dat de kolom (en tabel) al in de database bestaat. Anders krijg je een foutmelding.

Controleer de resultaten

U kunt de kolomgrootte controleren door een zoekopdracht uit te voeren tegen INFORMATION_SCHEMA.COLUMNS . Zoals dit:

USE Solutions;
SELECT 
    COLUMN_NAME,
    DATA_TYPE,
    CHARACTER_MAXIMUM_LENGTH,
    CHARACTER_OCTET_LENGTH
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Tasks';

Resultaat:

COLUMN_NAME      DATA_TYPE  CHARACTER_MAXIMUM_LENGTH  CHARACTER_OCTET_LENGTH
---------------  ---------  ------------------------  ----------------------
TaskId           int        null                      null                  
TaskName         nvarchar   255                       510                   
TaskDescription  varchar    500                       500

In dit geval schakelen we over naar de juiste database (Solutions ), dan zoeken we INFORMATION_SCHEMA.COLUMNS voor informatie over de kolommen in de Tasks tafel. We hadden dit kunnen beperken tot alleen de kolom waarin we geïnteresseerd zijn als de tabel te veel kolommen bevat, maar voor dit voorbeeld is drie kolommen geen probleem.


  1. Hoe voer je een MySQL-opdracht uit vanuit een shellscript?

  2. CASE-instructie gebruiken in MySQL

  3. UTF-8 helemaal door

  4. Tabel wijzigen om de standaardwaarde van de kolom te wijzigen