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