Résumé : dans ce tutoriel, vous découvrirez le type de données Oracle VARCHAR2 et comment l’utiliser pour définir des colonnes de chaînes de caractères de longueur variable.

Introduction au type de données Oracle VARCHAR2

Pour stocker des chaînes de caractères de longueur variable, vous utilisez le type de données Oracle VARCHAR2. Une colonne VARCHAR2 peut stocker une valeur comprise entre 1 et 4000 octets. Cela signifie que pour un jeu de caractères à un octet, vous pouvez stocker jusqu’à 4000 caractères dans une colonne VARCHAR2.

Lorsque vous créez une table avec une colonne VARCHAR2, vous devez spécifier la longueur maximale de la chaîne, soit en octets :

soit en caractères

Par défaut, Oracle utilise BYTE si vous ne spécifiez pas explicitement BYTE ou CHAR après le max_size. En d’autres termes, une colonne VARCHAR2(N) peut contenir jusqu’à N octets de caractères.

Si vous stockez une chaîne de caractères dont la taille dépasse la taille maximale de de la colonne VARCHAR2, Oracle émet une erreur.

Par exemple, si vous définissez une colonne VARCHAR2 dont la taille maximale est de 20. Dans un jeu de caractères à un octet, vous pouvez stocker jusqu’à 20 caractères. Si vous stockez 21 caractères ou plus, Oracle renvoie une erreur.

En outre, si vous stockez 10 caractères dans une colonne VARCHAR2(20), Oracle utilise seulement 10 octets pour le stockage, et non 20 octets. Par conséquent, l’utilisation du type de données VARCHAR2 vous aide à économiser les espaces utilisés par la table.

Lorsque vous comparez des valeurs VARCHAR2, Oracle utilise la sémantique de comparaison non remplie.

Oracle VARCHAR2 max length

Depuis Oracle Database 12c, vous pouvez spécifier la taille maximale de 32767 pour le type de données VARCHAR2. Oracle utilise le paramètre MAX_STRING_SIZE pour contrôler la taille maximale. Si le MAX_STRING_SIZE est STANDARD, alors la taille maximale pour VARCHAR2 est de 4000 octets. Dans le cas où, le MAX_STRING_SIZE est EXTENDED, la taille limite pour VARCHAR2 est de 32767.

Pour obtenir la valeur du paramètre MAX_STRING_SIZE, vous utilisez la requête suivante :

Ou utilisez l’instruction suivante :

Oracle VARCHAR2 exemples

L’instruction suivante crée une nouvelle table nommée econtacts pour stocker les contacts d’urgence des employés.

La table econtacts possède trois colonnes VARCHAR2 : first_name, last_name et phone.

L’instruction suivante insère une nouvelle ligne dans la table econtacts:

Cela a fonctionné comme prévu car les données d’entrée ne dépassent pas la taille maximale de la colonne VARCHAR2.

Par contre, l’instruction suivante ne parvient pas à s’insérer:

Parce que le prénom en entrée dépasse la longueur maximale de la colonne first_name, Oracle a émis l’erreur suivante:

Dans ce tutoriel, vous avez appris à connaître le VARCHAR2 d’Oracle et à utiliser le type de données VARCHAR2 pour définir des colonnes de chaînes de caractères de longueur variable dans une table.

  • Ce tutoriel vous a-t-il été utile ?
  • OuiNon

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.