GeeksforGeeks

PostgreSQL ondersteunt een karakter data type genaamd VARCHAR. Dit data type wordt gebruikt om karakters van beperkte lengte op te slaan. Het wordt in PostgreSQL weergegeven als varchar(n), waarbij n de limiet van de lengte van de karakters weergeeft. Als n niet is gespecificeerd is het standaard varchar , dat een onbeperkte lengte heeft. Elke poging om een langere string op te slaan in de kolom die is gedefinieerd met varchar(n) resulteert in een foutmelding van PostgreSQL. Een uitzondering is echter dat als de overtollige karakters allemaal spaties zijn, PostgreSQL de spaties tot de maximale lengte zal trunceren en de string zal opslaan. Het enige voordeel van het specificeren van de lengte voor het varchar datatype is dat PostgreSQL zal controleren en een foutmelding zal geven als u probeert een langere string in de varchar(n) kolom in te voegen.

Syntax: variable_name VARCHAR(n)

Voorbeeld :
Laten we een nieuwe tabel (zeg, char_test) maken voor de demonstratie met de onderstaande commando’s:

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

Nu voegen we een nieuwe rij in de char_test tabel in met het onderstaande commando:

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

In dit stadium zal PostgreSQL een foutmelding geven omdat het gegevenstype van de x-kolom char(1) is en we hebben geprobeerd een string met drie tekens in deze kolom in te voegen, zoals hieronder te zien is:

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

Dus, laten we dit nu oplossen.

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

Nu krijgen we dezelfde foutmelding voor de y-kolom omdat het aantal ingevoerde tekens groter is dan 10, zoals hieronder te zien is:

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

Laten we dit ook oplossen.

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

Nu we erin geslaagd zijn om met succes de waarden aan het karaktergegevenstype toe te wijzen, kunt u dit controleren door het onderstaande commando uit te voeren:

SELECT * FROM varchar_test;

Uitvoer:

Artikel tags :

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.