Wanneer u een databasetabel maakt, geeft u alle kolommen en hun gegevenstypen op. Eenmaal gemaakt, is het normaal gesproken niet de bedoeling om deze gegevenstypen te wijzigen. Degene die het schema heeft ontworpen, zou immers goed hebben nagedacht over welk gegevenstype elke kolom zou moeten accepteren.
We weten echter allemaal dat dingen kunnen veranderen. Ondanks onze inspanningen om elk mogelijk scenario te voorzien dat onze database kan treffen, is dat soms niet genoeg.
Dus wat doen we als we Transact-SQL moeten gebruiken om het gegevenstype van een kolom in SQL Server te wijzigen?
We gebruiken de ALTER TABLE
statement om het natuurlijk te veranderen.
Voorbeeld
Hier is een voorbeeld van het gebruik van de T-SQL ALTER TABLE
statement om het gegevenstype van een kolom te wijzigen:
ALTER TABLE Tasks ALTER COLUMN TaskCode char(6); GO
Dit verandert de tabel met de naam Tasks
, door de TaskCode
. ervan te wijzigen kolom naar een gegevenstype van char(6)
. Merk op dat het niet nodig is om te specificeren wat het gegevenstype gebruikt te zijn - u geeft eenvoudig het nieuwe gegevenstype op en bent ermee klaar. SQL Server doet de rest.
Controleer de resultaten
U kunt het resultaat controleren door INFORMATION_SCHEMA.COLUMNS
. op te vragen :
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';
Resultaat:
COLUMN_NAME DATA_TYPE MAX_LENGTH OCTET_LENGTH ----------- --------- ---------- ------------ TaskCode char 6 6