GeeksforGeeks

Nå som vi er kjent med begrepet tegndatatyper CHAR, VARCHAR og TEKST henholdsvis I PostgreSQL, vil denne artikkelen fokusere på å markere hovedforskjellen mellom Dem.

hva er CHAR datatype?
denne datatypen brukes til å lagre tegn med begrenset lengde. Den er representert somchar(n) ellercharacter(n) I PostgreSQL, hvor n representerer grensen for lengden på tegnene.Hvis n ikke er angitt, er den standard char(1) eller character(1).

Hva er VARCHAR datatype?
denne datatypen brukes til å lagre tegn med begrenset lengde. Den er representert som varchar(n) I PostgreSQL, hvor n representerer grensen for lengden på tegnene. Hvis n ikke er angitt, er det som standard varchar som har ubegrenset lengde.

HVA ER tekstdatatype?
denne datatypen brukes til å lagre karakter av ubegrenset lengde. Den er representert som text I PostgreSQL. Utførelsen av varchar (uten n) og tekst er den samme.

tabellen nedenfor gir den store forskjellen MELLOM RØYE, 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 avkortet Blir avkortet Renains intakt
Hvis n ikke er spesifisert n = 1 n = uendelig Konsept av n eksisterer ikke
Spørringssyklus Ekstra syklus for å sjekke lengden ekstra syklus for å sjekke lengden ingen evaluering av tegnlengde

eksempel:
la oss lage et nytt bord(si character_tests) for demonstrasjonen ved hjelp av kommandoene nedenfor:

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

la Oss nå sette inn en ny rad i char_test-tabellen ved hjelp av kommandoen nedenfor:

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 stadiet Vil PostgreSQL øke en feil da datatypen til x-kolonnen er char(1) og vi prøvde å sette inn en streng med tre tegn i denne kolonnen som vist nedenfor:

ERROR: value too long for type character(1)

så la oss nå fikse 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' );

nå vil vi få samme feil for y-kolonnen som antall inntastede tegn er større enn 10 som vist nedenfor:

ERROR: value too long for type character(10)

la oss fikse det også.

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

Nå som vi har klart å tildele verdiene til tegndatatypen, sjekk den ved å kjøre kommandoen nedenfor:

SELECT * FROM character_tests;

Utgang:

Article Tags :

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.