CommencerCommencer gratuitement

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

Afficher le cours

Instructions

  • Veuillez exécuter le code d'exemple tel quel et noter l'erreur.
  • Veuillez maintenant utiliser SUBSTRING() pour réduire firstname à 16 caractères afin que son type puisse être modifié en varchar(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)
Modifier et exécuter le code