GeeksforGeeks

nu hvor vi er bekendt med begrebet karakterdatatyper CHAR, VARCHAR og tekst i henholdsvis Postgraduate, vil denne artikel fokusere på at fremhæve nøgleforskellen mellem dem.

Hvad er CHAR datatype?
denne datatype bruges til at gemme karakter af begrænset længde. Det er repræsenteret som char(n)ellercharacter(n) i Postgreskl, hvor n repræsenterer grænsen for tegnets længde.Hvis n ikke er angivet, er det som standard char(1) eller character(1).

Hvad er VARCHAR datatype?
denne datatype bruges til at gemme tegn af begrænset længde. Det er repræsenteret som varchar(n) i postgraduate, hvor n repræsenterer grænsen for længden af tegnene. Hvis n ikke er angivet, er det som standard varchar som har ubegrænset længde.

Hvad er TEKSTDATATYPE?
denne datatype bruges til at gemme karakter af ubegrænset længde. Det er repræsenteret som text i postgraduate. Udførelsen af varchar (uden n) og tekst er den samme.

nedenstående tabel giver den største forskel mellem CHAR, VARCHAR og 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 trunkeret bliver trunkeret Renains intakt
hvis n ikke specificeret n = 1 n = infinity begrebet n findes ikke
Forespørgselscyklus ekstra cyklus for at kontrollere længden ekstra cyklus for at kontrollere længde ingen evaluering af tegnlængde

eksempel:
Lad os oprette en ny tabel(sige tegn_tests) til demonstrationen ved hjælp af nedenstående kommandoer:

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

lad os nu indsætte en ny række i char_test-tabellen ved hjælp af nedenstående kommando:

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

på dette stadium vil Postgraduate rejse en fejl, da datatypen for kolonnen er char(1), og vi forsøgte at indsætte en streng med tre tegn i denne kolonne som vist nedenfor:

ERROR: value too long for type character(1)

så lad os nu rette det.

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 får vi den samme fejl for y-kolonnen, da antallet af indtastede tegn er større end 10 som vist nedenfor:

ERROR: value too long for type character(10)

lad os ordne det også.

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

nu hvor vi har formået at tildele værdierne til tegndatatypen, skal du kontrollere den ved at køre nedenstående kommando:

SELECT * FROM character_tests;

Output:

Article Tags :

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.