GeeksforGeeks

nu we bekend zijn met het concept van karakter data types CHAR, VARCHAR, en tekst respectievelijk in PostgreSQL, zal dit artikel zich richten op het benadrukken van de sleutel verschil tussen hen.

Wat is CHAR data type?
Dit gegevenstype wordt gebruikt om tekens van beperkte lengte op te slaan. Het wordt weergegeven als char(n) of character(n) in PostgreSQL, waarbij n de limiet van de lengte van de tekens vertegenwoordigt.Als n niet is opgegeven, wordt het standaard char(1) of character(1).

Wat is VARCHAR-gegevenstype?
Dit gegevenstype wordt gebruikt om tekens van beperkte lengte op te slaan. Het wordt weergegeven als varchar(n) in PostgreSQL, waarbij n de limiet van de lengte van de tekens vertegenwoordigt. Als n niet is opgegeven, is de standaardwaarde varchar die een onbeperkte lengte heeft.

Wat is TEKSTGEGEVENSTYPE?
Dit gegevenstype wordt gebruikt om tekens van onbeperkte lengte op te slaan. Het wordt weergegeven als text in PostgreSQL. De uitvoering van de varchar (zonder n) en de tekst zijn hetzelfde.

de onderstaande tabel geeft het belangrijkste verschil tussen CHAR, VARCHAR en tekst:

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 afgekapt Wordt afgekapt Renains intact
Als n niet is opgegeven n = 1 n = oneindig Concept van n bestaat niet
Query cyclus Extra cyclus te controleren lengte Extra cyclus te controleren lengte Geen evaluatie van de tekens

Voorbeeld:
we maken een nieuwe tabel(zeg, character_tests) voor de demonstratie met behulp van de onderstaande commando ‘ s:

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

laten we Nu voeg een nieuwe rij in de char_test tabel met behulp van het onderstaande commando:

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' );

In deze fase PostgreSQL zal verhogen een fout als het gegevenstype van de x-kolom is char(1) en hebben we geprobeerd om het invoegen van een string met de drie personages in deze kolom, zoals hieronder weergegeven:

ERROR: value too long for type character(1)

Dus, laten we nu eens oplossen.

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' );

nu krijgen we dezelfde fout voor de Y-kolom als het aantal ingevoerde tekens groter is dan 10, zoals hieronder weergegeven:

ERROR: value too long for type character(10)

laten we het ook repareren.

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

nu we erin geslaagd zijn om met succes de waarden toe te wijzen aan het karaktergegevenstype, controleer het door het onderstaande commando uit te voeren:

SELECT * FROM character_tests;

uitvoer:

Article Tags :

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.