Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como alterar o tipo de dados de uma coluna no SQL Server (T-SQL)


Ao criar uma tabela de banco de dados, você especifica todas as colunas junto com seus tipos de dados. Uma vez criados, normalmente não há intenção de alterar esses tipos de dados. Afinal, quem projetou o esquema teria pensado muito em qual tipo de dados cada coluna deveria aceitar.

No entanto, todos sabemos que as coisas podem mudar. Apesar de nossos melhores esforços para tentar prever todos os cenários possíveis que podem atingir nosso banco de dados, às vezes isso não é suficiente.

Então, o que fazemos se precisarmos usar o Transact-SQL para alterar o tipo de dados de uma coluna no SQL Server?

Usamos o ALTER TABLE declaração para mudá-lo, é claro.


Exemplo


Aqui está um exemplo de uso do T-SQL ALTER TABLE instrução para alterar o tipo de dados de uma coluna:
ALTER TABLE Tasks
    ALTER COLUMN TaskCode char(6);
GO

Isso altera a tabela chamada Tasks , alterando seu TaskCode coluna para um tipo de dados de char(6) . Observe que não há necessidade de especificar o tipo de dados usado to be – você simplesmente especifica o novo tipo de dados e pronto. O SQL Server fará o resto.

Verifique os resultados


Você pode verificar o 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