Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come modificare il tipo di dati di una colonna in SQL Server (T-SQL)

Quando crei una tabella di database, specifichi tutte le colonne insieme ai relativi tipi di dati. Una volta creati, normalmente non c'è alcuna intenzione di modificare questi tipi di dati. Dopotutto, chiunque abbia progettato lo schema avrebbe riflettuto molto sul tipo di dati che ciascuna colonna dovrebbe accettare.

Tuttavia, sappiamo tutti che le cose possono cambiare. Nonostante i nostri migliori sforzi nel cercare di prevedere ogni possibile scenario che potrebbe colpire il nostro database, a volte non è abbastanza.

Quindi cosa dobbiamo fare se dobbiamo utilizzare Transact-SQL per modificare il tipo di dati di una colonna in SQL Server?

Usiamo il ALTER TABLE dichiarazione per cambiarlo ovviamente.

Esempio

Ecco un esempio di utilizzo di T-SQL ALTER TABLE istruzione per modificare il tipo di dati di una colonna:

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

Questo altera la tabella chiamata Tasks , modificandone il TaskCode colonna a un tipo di dati di char(6) . Tieni presente che non è necessario specificare il tipo di dati utilizzato essere:devi semplicemente specificare il nuovo tipo di dati e il gioco è fatto. SQL Server farà il resto.

Controlla i risultati

Puoi controllare il risultato interrogando 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';

Risultato:

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