I dette afsnit vil vi forstå, hvordan PostgreSQL varchar datatyper fungerer, hvilket giver os mulighed for at gemme tegn af ubegrænset længde. Og vi ser også eksempler på Varchar-datatypen og mellemrum.

Hvad er PostgreSQL Varchar-datatype?

I PostgreSQL bruges Varchar-datatypen til at opbevare tegnet af uendelig længde. Og den kan holde en streng med en maksimal længde på 65.535 bytes.

Med andre ord kan vi sige, at PostgreSQL Varchar-datatypen bruger karakter-datatypen, som er betegnet som VARCHAR.

  • Mest bør vi bruge datatyperne Varchar og Text. Hvis vi ønsker, at PostgreSQL skal kontrollere længden, bruger vi VARCHAR(n).
  • I PostgreSQL illustreres varchar som Varchar (n), hvor n bruges til at betegne grænsen for tegnets længde. Hvis n ikke er beskrevet, er standardværdien Varchar, der har uendelig længde.
  • Hvis vi forsøger at få en længere streng i kolonnen angivet med Varchar(n), PostgreSQL opstår en fejl i output.
  • Selvfølgelig har vi en undtagelse, hvis de ekstra tegn er alle mellemrum, så vil PostgreSQL trimme mellemrummene til den maksimale længde (n) og gemme strengen.
  • PostgreSQL kontrollerer og giver en fejl, hvis vi definerer længdeangivelsen for datatypen Varchar, eller hvis vi forsøger at indsætte mere end n tegn i kolonnen Varchar(n).

Bemærk: En varchar-datatatype er en streng med variabel længde, der kan indeholde specialtegn, tal og bogstaver. Og n gemme tekst, hvis længde kan have en maksimal længde på 0 til 65535 tegn.

Syntaks for PostgreSQL Varchar-datatypen

Syntaksen for PostgreSQL Varchar-datatypen er som følger:

Eksempler på PostgreSQL Varchar-datatypen

Lad os se forskellige eksempler for at forstå, hvordan PostgreSQL Varchar-datatypen fungerer.

Til dette vil vi oprette en ny tabel med navnet Varchar_demo tabel ved hjælp af CREATE kommandoen og indsætte nogle værdier ved hjælp af INSERT kommandoen.

Vi vil oprette Varchar_demo-tabeller i organisationsdatabasen ved hjælp af kommandoen CREATE:

Output

Efter vellykket udførelse af ovenstående kommando er Varchar_demo-tabellen blevet oprettet, som vist i nedenstående billede:

Når Varchar_demo-tabellen er blevet genereret, vil vi indsætte nogle værdier i den ved hjælp af kommandoen INSERT.

Output

Når vi har implementeret ovenstående kommando, vil vi få følgende output, PostgreSQL vil udstede en fejl om, at “værdien er for lang til type karakter varierende (1)”.

Det betyder, at datatypen for kolonnen P er VARCHAR (1), og hvor vi forsøger at indsætte en streng med tre tegn i en bestemt kolonne, som vi kan observere i nedenstående skærmbillede:

For at løse ovenstående fejl bruger vi nedenstående kommando som følger:

Output

Når vi udfører ovenstående kommando, udsender PostgreSQL igen en lignende fejl for Q-kolonnen, hvilket betyder, at datatypen for Q-kolonnen er VARCHAR (10). Derimod er antallet af indtastede tegn mere end 10, som vi kan observere i nedenstående skærmbillede:

For at løse begge ovenstående fejl vil vi derfor bruge nedenstående kommando:

Output

Når vi har udført ovenstående kommando, får vi følgende resultat: Værdien er blevet indsat med succes i tabellen Varchar_demo.

Som vi kan se i ovenstående skærmbillede, er det lykkedes os at indsætte kolonnens P- og Q-værdier.

Når vi har oprettet og indsat værdierne i tabellen Varchar_demo, bruger vi kommandoen SELECT til at returnere alle rækker i tabellen Varchar_demo:

Output

Når vi har gennemført ovenstående kommando, får vi følgende resultat, hvor vi kan se, at både værdierne for kolonne P og kolonne Q er blevet indsat med succes i tabellen Varchar_demo.

Eksempel 2

Lad os se endnu et eksempel for at lære datatypen Varchar i detaljer. Vi opretter en ny tabel som Varchar_demo2 med CREATE-kommandoens hjælp og indsætter nogle værdier ved hjælp af INSERT-kommandoen.

Vi vil oprette Varchar_demo2 i en lignende database som ovenfor, der er Organization ved hjælp af kommandoen CREATE:

Output

Tabellen Varchar_demo2 er blevet oprettet med succes efter udførelse af ovenstående kommando, som vist i nedenstående skærmbillede:

Når tabellen Varchar_demo2 er blevet genereret, kan vi indsætte nogle værdier i den ved hjælp af kommandoen INSERT.

Output

Når vi har implementeret ovenstående kommando. PostgreSQL giver fejlmeddelelsen “the value is too long for type Character (1)” (værdien er for lang til typen Character (1))). Outputtet forklarer det mere tydeligt.

Eksempel på PostgreSQL VARCHAR og mellemrum

PostgreSQL udvider ikke mellemrummet for varchar-værdier, når de gemmes, og PostgreSQL tager også de afsluttende mellemrum, når de gemmer eller gendanner Varchar-værdier.

For dette vil vi se nedenstående eksempel for at forstå det, hvor Insert-kommandoen, og vi tilføjer værdier i kolonnen Name i tabellen Varchar_demo2, som vi oprettede i ovenstående eksempel:

Output

Når vi har udført ovenstående kommando, får vi følgende resultat: Værdien er blevet indsat med succes i tabellen Varchar_demo2.

Når vi har oprettet og indsat værdierne i tabellen Varchar_demo2, bruger vi kommandoen SELECT til at hente værdierne fra tabellen Varchar_demo2:

Output

Når vi har udført ovenstående kommando, får vi følgende resultat, hvor PostgreSQL indeholder det afsluttende mellemrum i optællingen af længden, da det ikke øger kolonnelængden.

Hvis vi forsøger at indsætte en Varchar-værdi med efterslæbende mellemrum, der overskrider kolonnelængden, og PostgreSQL vil afkortede de efterslæbende mellemrum. PostgreSQL giver også en advarsel. Som vi har vist i nedenstående eksempel:

Output

Når vi udfører ovenstående kommando, får vi nedenstående resultat:

I ovenstående kommando er den indsatte værdilængde seks i kolonnen Name. Og værdien er stadig indsat i kolonnen. PostgreSQL skærer dog det afsluttende mellemrum af, før værdien tilføjes.

Vi kan kontrollere det med følgende kommandos hjælp, hvor Insert-kommandoen er tilføjet med succes.

Output

Efter implementering af ovenstående kommando får vi nedenstående output stadig med en advarsel, der er: Data truncated for column ‘Name’ at row 1:

Difference between PostgreSQL CHAR and PostgreSQL VARCHAR Data Type

The PostgreSQL CHAR and VARCHAR data types are both follow ASCII character. De er praktisk talt ens, men forskellige, når det gælder lagring og hentning af data fra databasen.

Den følgende tabel fremhæver de væsentlige forskelle mellem CHAR- og VARCHAR-datatypen:

PostgreSQL CHAR-datatatype PostgreSQL VARCHAR-datatatype
PostgreSQL understøtter statisk hukommelsesallokering for Char-datatypen. PostgreSQL understøtter dynamisk hukommelsesallokering for datatypen Varchar.
Datatypen Char er også kendt som Character. Datatypen Varchar kaldes også Variabel karakter.
Datatypen Char kan ikke rumme mere end 255 tegn. Datatypen Varchar kan rumme op til 65535 tegn.
Datatypen Char gemmer værdierne i en fast længde, som vi repræsenterer, mens vi opretter en tabel. Datatypen Varchar gemmer værdierne i en streng med variabel længde med en eller to bytes længdepræfiks.
Den kan fyldes op med efterfølgende mellemrum for at indeholde den angivne længde. Den kan ikke fyldes op med nogen tegn, med mellemrum, når de gemmes.

Oversigt

I afsnittet PostgreSQL Varchar-datatype har vi lært følgende emner:

  • Varchar-datatypen bruger til tegntyper med varierende længde.
  • Hvis vi ønsker at kontrollere længden af strengen (n), før vi indsætter eller opdaterer den i kolonnen, kan vi bruge datatypen Varchar(n).
  • Vi bruger PostgreSQL Varchar-datatypen og mellemrum.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.