Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So ändern Sie die Größe einer Spalte in SQL Server (T-SQL)

Wenn Sie SQL Server verwenden und T-SQL verwenden möchten, um die Größe einer vorhandenen Spalte zu ändern, kann dieser Artikel hilfreich sein.

Mit „Ändern der Größe einer vorhandenen Spalte“ meine ich das Ändern der Datengröße. Angenommen, Sie haben einen varchar(255) aber Sie möchten seine Größe auf varchar(500) erhöhen . Folgendes müssen Sie in diesem Fall tun.

Die ALTER TABLE-Anweisung

Wenn Sie dies mit T-SQL tun, müssen Sie ALTER TABLE verwenden Erklärung. Mit dieser Anweisung können Sie die Definition einer Tabelle ändern, nachdem sie bereits erstellt wurde (und sie kann auch Daten enthalten).

Hier ist ein Beispiel für das Ändern der Größe einer vorhandenen Spalte:

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

Dieses Beispiel modifiziert die Tasks Tabelle, indem Sie die Größe der TaskDescription ändern Spalte.

Dies setzt offensichtlich voraus, dass die Spalte (und die Tabelle) bereits in der Datenbank vorhanden sind. Andernfalls erhalten Sie eine Fehlermeldung.

Überprüfen Sie die Ergebnisse

Sie können die Spaltengröße überprüfen, indem Sie eine Abfrage für INFORMATION_SCHEMA.COLUMNS ausführen . So:

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

Ergebnis:

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

In diesem Fall wechseln wir zur richtigen Datenbank (Solutions ), dann fragen wir INFORMATION_SCHEMA.COLUMNS ab für Informationen zu den Spalten in den Tasks Tisch. Wir hätten dies auf die Spalte beschränken können, an der wir interessiert sind, wenn die Tabelle zu viele Spalten hätte, aber in diesem Beispiel sind drei Spalten kein Problem.