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)