sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo cambiar el tipo de datos de una columna en SQL Server (T-SQL)

Cuando crea una tabla de base de datos, especifica todas las columnas junto con sus tipos de datos. Una vez creados, normalmente no hay intención de cambiar estos tipos de datos. Después de todo, quien haya diseñado el esquema habría pensado mucho en qué tipo de datos debería aceptar cada columna.

Sin embargo, todos sabemos que las cosas pueden cambiar. A pesar de nuestros mejores esfuerzos para tratar de prever todos los escenarios posibles que pueden afectar nuestra base de datos, a veces eso no es suficiente.

Entonces, ¿qué hacemos si necesitamos usar Transact-SQL para cambiar el tipo de datos de una columna en SQL Server?

Usamos la ALTER TABLE declaración para cambiarlo, por supuesto.

Ejemplo

Aquí hay un ejemplo del uso de T-SQL ALTER TABLE instrucción para cambiar el tipo de datos de una columna:

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

Esto altera la tabla llamada Tasks , cambiando su TaskCode columna a un tipo de datos de char(6) . Tenga en cuenta que no es necesario especificar qué tipo de datos usó to be – simplemente especifica el nuevo tipo de datos y listo. SQL Server hará el resto.

Comprueba los resultados

Puede verificar el resultado consultando 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';

Resultado:

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