Convertir les types À L'AIDE d’une fonction
Si vous ne souhaitez pas réserver trop d'espace pour une colonne spécifique varchar, vous pouvez tronquer les valeurs avant de convertir son type.
Pour cela, vous pouvez utiliser la syntaxe suivante :
ALTER TABLE table_name
ALTER COLUMN column_name
TYPE varchar(x)
USING SUBSTRING(column_name FROM 1 FOR x)
Veuillez lire ceci comme suit : Étant donné que vous souhaitez réserver uniquement x caractères pour column_name, vous devez conserver une SUBSTRING de chaque valeur, c'est-à-dire les x premiers caractères, et supprimer le reste. De cette manière, les valeurs seront conformes aux exigences de varchar(x).
Cet exercice fait partie du cours
Introduction aux bases de données relationnelles en SQL
Instructions
- Veuillez exécuter le code d'exemple tel quel et noter l'erreur.
- Veuillez maintenant utiliser
SUBSTRING()pour réduirefirstnameà 16 caractères afin que son type puisse être modifié envarchar(16).
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
-- Convert the values in firstname to a max. of 16 characters
ALTER TABLE professors
ALTER COLUMN firstname
TYPE varchar(16)