Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment modifier la taille d'une colonne dans SQL Server (T-SQL)

Si vous utilisez SQL Server et que vous souhaitez utiliser T-SQL pour modifier la taille d'une colonne existante, cet article peut vous aider.

Par "changer la taille d'une colonne existante", je veux dire changer la taille des données. Par exemple, disons que vous avez un varchar(255) mais vous voulez augmenter sa taille à varchar(500) . Voici ce que vous devez faire dans ce cas.

L'instruction ALTER TABLE

Si vous faites cela avec T-SQL, vous devez utiliser le ALTER TABLE déclaration. Cette instruction vous permet de modifier la définition d'une table après sa création (et elle peut également contenir des données).

Voici un exemple de modification de la taille d'une colonne existante :

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

Cet exemple modifie les Tasks table en changeant la taille de la TaskDescription colonne.

Cela suppose évidemment que la colonne (et la table) existent déjà dans la base de données. Sinon, vous obtiendrez une erreur.

Vérifiez les résultats

Vous pouvez vérifier la taille de la colonne en exécutant une requête sur INFORMATION_SCHEMA.COLUMNS . Comme ceci :

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

Résultat :

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

Dans ce cas, nous passons à la bonne base de données (Solutions ), puis nous interrogeons INFORMATION_SCHEMA.COLUMNS pour plus d'informations sur les colonnes dans les Tasks table. Nous aurions pu réduire cela à la colonne qui nous intéresse s'il y avait trop de colonnes dans le tableau, mais pour cet exemple, trois colonnes ne posent aucun problème.