Samenvatting: in deze tutorial leert u over de PostgreSQL karakter datatypes waaronder CHAR, VARCHAR, en TEXT, en leert u hoe u de juiste karakter types voor uw tabellen selecteert.

Inleiding tot de PostgreSQL karakter types

PostgreSQL biedt drie primaire karakter types: CHARACTER(n) of CHAR(n), CHARACTER VARYINGING(n) of VARCHAR(n), en TEXT, waarbij n een positief geheel getal is.

De volgende tabel geeft een illstratie van de karakter types in PostgreSQL:

vaste-lengte, blanco opgevuld

Character Types Description
CHARACTER VARYING(n), VARCHAR(n) variable-length with length limit
CHARACTER(n), CHAR(n)
TEXT, VARCHAR variabele onbeperkte lengte

Zowel CHAR(n) als VARCHAR(n) kunnen maximaal n tekens opslaan. Als u probeert een string op te slaan die meer dan n tekens bevat, zal PostgreSQL een foutmelding geven.

Een uitzondering is echter dat als de overtollige tekens allemaal spaties zijn, PostgreSQL de spaties afkapt tot de maximale lengte (n) en de tekens opslaat.

Als een string expliciet wordt gecast naar een CHAR(n) of VARCHAR(n), zal PostgreSQL de string trunceren tot n tekens voordat deze in de tabel wordt ingevoegd.

Het TEXT datatype kan een string met onbeperkte lengte opslaan.

Als u het n-getal niet opgeeft voor het VARCHAR datatype, gedraagt het zich als het TEXT datatype. De prestaties van de VARCHAR (zonder de grootte n) en TEXT zijn hetzelfde.

Het enige voordeel van het specificeren van de lengte voor het VARCHAR data type is dat PostgreSQL een fout zal geven als u probeert een string in te voegen die meer dan n karakters heeft in de VARCHAR(n) kolom.

In tegenstelling tot VARCHAR, is de CHARACTER of CHAR zonder de lengte specificatie (n) hetzelfde als de CHARACTER(1) of CHAR(1).

In tegenstelling tot andere database systemen, is er in PostgreSQL geen verschil in prestatie tussen de drie karakter types.

In de meeste gevallen, zou u TEXT of VARCHAR moeten gebruiken. En u gebruikt de VARCHAR(n) wanneer u wilt dat PostgreSQL de lengte controleert.

PostgreSQL karakter type voorbeelden

Laten we eens kijken naar een voorbeeld om te zien hoe de CHAR , VARCHAR , en TEXT datatypes werken.

Maak eerst een nieuwe tabel aan met de naam character_tests:

Code language: SQL (Structured Query Language) (sql)

Voeg vervolgens een nieuwe rij in in de tabel character_tests.

Code language: SQL (Structured Query Language) (sql)

PostgreSQL geeft een foutmelding:

Code language: SQL (Structured Query Language) (sql)

Dit komt omdat het datatype van de kolom x char(1) is en we hebben geprobeerd een string met drie tekens in deze kolom in te voegen. Laten we het oplossen:

Code language: SQL (Structured Query Language) (sql)

PostgreSQL geeft een andere foutmelding:

Code language: Shell Session (shell)

Dit komt omdat we geprobeerd hebben een string met meer dan 10 tekens in te voegen in de kolom y die het datatype varchar(10) heeft.

Het volgende statement voegt met succes een nieuwe rij in de character_tests tabel in.

Code language: SQL (Structured Query Language) (sql)
Code language: SQL (Structured Query Language) (sql)
Code language: Shell Session (shell)

Samenvatting

  • PostgreSQL ondersteunt CHAR, VARCHAR, en TEXT datatypes. De CHAR is een karakter type met een vaste lengte, terwijl de VARCHAR en TEXT karakter types zijn met een variabele lengte.
  • Gebruik VARCHAR(n) als u de lengte van de string (n) wilt valideren voor het invoegen in of bijwerken naar een kolom.
  • VARCHAR (zonder de lengte-specier) en TEXT zijn gelijkwaardig.
  • Was deze handleiding nuttig ?
  • JaNee

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.