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

Comment modifier le type de données d'une colonne dans SQL Server (T-SQL)

Lorsque vous créez une table de base de données, vous spécifiez toutes les colonnes avec leurs types de données. Une fois créés, il n'y a normalement aucune intention de modifier ces types de données. Après tout, celui qui a conçu le schéma aurait beaucoup réfléchi au type de données que chaque colonne devrait accepter.

Cependant, nous savons tous que les choses peuvent changer. Malgré tous nos efforts pour essayer de prévoir tous les scénarios possibles qui pourraient toucher notre base de données, parfois cela ne suffit pas.

Que faire si nous devons utiliser Transact-SQL pour modifier le type de données d'une colonne dans SQL Server ?

Nous utilisons le ALTER TABLE déclaration pour le changer bien sûr.

Exemple

Voici un exemple d'utilisation de T-SQL ALTER TABLE instruction pour changer le type de données d'une colonne :

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

Cela modifie la table appelée Tasks , en changeant son TaskCode colonne à un type de données de char(6) . Notez qu'il n'est pas nécessaire de spécifier le type de données utilisé être - vous spécifiez simplement le nouveau type de données et en avez fini avec lui. SQL Server fera le reste.

Vérifiez les résultats

Vous pouvez vérifier le résultat en interrogeant INFORMATION_SCHEMA.COLUMNS :

USE Solutions;
SELECT 
    COLUMN_NAME,
    DATA_TYPE,
    CHARACTER_MAXIMUM_LENGTH AS MAX_LENGTH,
    CHARACTER_OCTET_LENGTH AS OCTET_LENGTH
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Tasks'
AND COLUMN_NAME = 'TaskCode';

Résultat :

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