GeeksforGeeks

PostgreSQL supporte un type de données de type caractère appelé 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, où n représente la limite de la longueur des caractères. Si n n’est pas spécifié, il est représenté par défaut par varchar qui a une longueur illimitée. Toute tentative de stocker une chaîne plus longue dans la colonne définie avec varchar(n) entraîne l’émission d’une erreur par PostgreSQL. Cependant, une exception est que si les caractères excédentaires sont tous des espaces, PostgreSQL tronquera les espaces à la longueur maximale et stockera la chaîne. Le seul avantage de spécifier le spécificateur de longueur pour le type de données varchar est que PostgreSQL vérifiera et émettra une erreur si vous essayez d’insérer une chaîne plus longue dans la colonne varchar(n).

Syntax: variable_name VARCHAR(n)

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

CREATE TABLE varchar_test ( id serial PRIMARY KEY, x VARCHAR (1), y VARCHAR(10));

Insérons maintenant une nouvelle ligne dans la table char_test en utilisant la commande ci-dessous :

INSERT INTO varchar_test (x, y)VALUES ( 'Geeks', 'This is a test for char' );

À ce stade, PostgreSQL lèvera 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 varying(1)

Alors, maintenant, corrigeons cela.

INSERT INTO varchar_test (x, y)VALUES ( 'G', 'This is a test for char' );

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

ERROR: value too long for type character varying(10)

Réparons-la aussi.

INSERT INTO varchar_test (x, y)VALUES ( 'G', 'hello Geek' );

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

SELECT * FROM varchar_test;

Sortie:

Étiquettes d’article :

Laisser un commentaire

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