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

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


Se você estiver usando o SQL Server e quiser usar o T-SQL para alterar o tamanho de uma coluna existente, este artigo pode ajudar.

Por “alterar o tamanho de uma coluna existente”, quero dizer alterar o tamanho dos dados. Por exemplo, digamos que você tenha um varchar(255) mas você deseja aumentar seu tamanho para varchar(500) . Aqui está o que você precisa fazer nesse caso.


Instrução ALTER TABLE


Se você está fazendo isso com T-SQL, você precisa usar o ALTER TABLE demonstração. Essa instrução permite alterar a definição de uma tabela depois que ela já foi criada (e também pode conter dados).

Aqui está um exemplo de alteração do tamanho de uma coluna existente:
ALTER TABLE Tasks
    ALTER COLUMN TaskDescription varchar(500);
GO

Este exemplo modifica as Tasks tabela alterando o tamanho da TaskDescription coluna.

Obviamente, isso pressupõe que a coluna (e a tabela) já existam no banco de dados. Caso contrário, você receberá um erro.

Verifique os resultados


Você pode verificar o tamanho da coluna executando uma consulta em INFORMATION_SCHEMA.COLUMNS . Assim:
USE Solutions;
SELECT 
    COLUMN_NAME,
    DATA_TYPE,
    CHARACTER_MAXIMUM_LENGTH,
    CHARACTER_OCTET_LENGTH
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Tasks';

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

Neste caso, mudamos para o banco de dados correto (Solutions ), consultamos INFORMATION_SCHEMA.COLUMNS para obter informações sobre as colunas em Tasks tabela. Poderíamos ter reduzido isso apenas à coluna em que estamos interessados ​​se houvesse muitas colunas na tabela, mas para este exemplo, três colunas não é problema.