GeeksforGeeks

Maintenant que nous connaissons le concept des types de données de caractères CHAR, VARCHAR et TEXT respectivement dans PostgreSQL, cet article se concentrera sur la mise en évidence de la différence clé entre eux.

Qu’est-ce que le type de données CHAR ?
Ce type de données est utilisé pour stocker des caractères de longueur limitée. Il est représenté par char(n) ou character(n) dans PostgreSQL, où n représente la limite de la longueur des caractères.Si n n’est pas spécifié, la valeur par défaut est char(1) ou character(1).

Quel est le type de données VARCHAR ?
Ce type de données est utilisé pour stocker des caractères de longueur limitée. Il est représenté par varchar(n) dans PostgreSQL Tm, où n représente la limite de la longueur des caractères. Si n n’est pas spécifié, la valeur par défaut est varchar qui a une longueur illimitée.

Qu’est-ce que le type de données TEXTUELLES ?
Ce type de données est utilisé pour stocker des caractères de longueur illimitée. Il est représenté par text dans PostgreSQL. Les performances du varchar (sans n) et du texte sont les mêmes.

Le tableau ci-dessous présente la différence majeure entre CHAR, VARCHAR et TEXT:

Comparison CHAR VARCHAR TEXT
Syntax CHAR(n) VARCHAR(n) TEXT
Representation char(n) or character(n) varchar(n) text
Length of characters Limited Limited Unlimited
Spaces and padding Gets tronqué Devient tronqué Renaît intact
Si n n’est pas spécifié n = 1 n = infini Le concept de n n’existe pas
Cycle de requête Cycle supplémentaire pour vérifier la longueur Cycle supplémentaire pour vérifier la longueur Aucune évaluation du caractère longueur

Exemple:
Créons une nouvelle table (disons, character_tests) pour la démonstration en utilisant les commandes ci-dessous:

CREATE TABLE character_tests ( id serial PRIMARY KEY, x CHAR (1), y VARCHAR (10), z TEXT);

Maintenant, insérons une nouvelle ligne dans la table char_test en utilisant la commande ci-dessous:

INSERT INTO character_tests (x, y, z)VALUES ( 'Geeks', 'This is a test for varchar', 'This is a very long text for the PostgreSQL text column' );

À ce stade, PostgreSQL va générer une erreur car le type de données de la colonne x est char(1) et nous avons essayé d’insérer une chaîne de trois caractères dans cette colonne comme indiqué ci-dessous:

ERROR: value too long for type character(1)

Alors, maintenant, corrigeons-le.

INSERT INTO character_tests (x, y, z)VALUES ( 'G', 'This is a test for varchar', 'This is a very long text for the PostgreSQL text column' );

Maintenant, nous obtiendrons la même erreur pour la colonne y car le nombre de caractères entrés est supérieur à 10 comme indiqué ci-dessous:

ERROR: value too long for type character(10)

Corrigeons-le aussi.

INSERT INTO character_tests (x, y, z)VALUES ( 'Y', 'varchar(n)', 'This is a very long text for the PostgreSQL text column' );

Maintenant que nous avons réussi à attribuer les valeurs au type de données de caractère, vérifiez-le en exécutant la commande ci-dessous :

SELECT * FROM character_tests;

Sortie:

Article Tags :

Laisser un commentaire

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