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