Samenvatting: in deze tutorial leer je over het Oracle VARCHAR2 datatype en hoe je het kunt gebruiken om kolommen met tekenreeksen met variabele lengte te definiëren.

Inleiding tot het Oracle VARCHAR2 datatype

Om tekenreeksen met variabele lengte op te slaan, gebruik je het Oracle VARCHAR2 datatype. Een VARCHAR2 kolom kan een waarde opslaan die varieert van 1 tot 4000 bytes. Dit betekent dat u voor een single-byte tekenset maximaal 4000 tekens in een VARCHAR2 kolom kunt opslaan.

Wanneer u een tabel met een VARCHAR2 kolom maakt, moet u de maximale tekenreekslengte opgeven, hetzij in bytes:

of in tekens

Aan standaard, gebruikt Oracle BYTE als u niet expliciet BYTE of CHAR na de max_size opgeeft. Met andere woorden, een VARCHAR2(N) kolom kan maximaal N bytes aan tekens bevatten.

Als u een tekenreeks opslaat waarvan de grootte groter is dan de maximale grootte van de VARCHAR2 kolom, geeft Oracle een fout.

Bijvoorbeeld, als u een VARCHAR2 kolom definieert met een maximale grootte is 20. In een single-byte tekenset, kunt u maximaal 20 tekens opslaan. Als u 21 tekens of meer opslaat, geeft Oracle een foutmelding.

Bovendien, als u 10 tekens opslaat in een VARCHAR2(20) kolom, gebruikt Oracle slechts 10 bytes voor opslag, niet 20 bytes. Daarom helpt het gebruik van VARCHAR2-gegevenstype u om ruimte te besparen die door de tabel wordt gebruikt.

Bij het vergelijken van VARCHAR2-waarden gebruikt Oracle de niet-opgevulde vergelijkingssemantiek.

Oracle VARCHAR2 max length

Sinds Oracle Database 12c kunt u de maximale grootte van 32767 opgeven voor het VARCHAR2-gegevenstype. Oracle gebruikt de parameter MAX_STRING_SIZE voor het regelen van de maximale grootte. Als de MAX_STRING_SIZE STANDARD is, dan is de maximale grootte voor VARCHAR2 4000 bytes. In het geval dat de MAX_STRING_SIZE EXTENDED is, dan is de maximale grootte voor VARCHAR2 32767.

Om de waarde van de MAX_STRING_SIZE parameter te verkrijgen, gebruikt u de volgende query:

Of u gebruikt het volgende statement:

Oracle VARCHAR2 examples

Het volgende statement creëert een nieuwe tabel met de naam econtacts om de noodcontacten van werknemers op te slaan.

De econtacts tabel heeft drie VARCHAR2 kolommen: first_name, last_name, en phone.

Het volgende statement voegt een nieuwe rij in de econtacts tabel in:

Het werkte zoals verwacht omdat de invoergegevens niet groter zijn dan de maximale grootte van de VARCHAR2 kolom.

Het volgende statement slaagt er echter niet in in te voegen:

Omdat de ingevoerde voornaam de maximale lengte van de first_name kolom overschrijdt, gaf Oracle de volgende foutmelding:

In deze tutorial hebt u meer geleerd over de Oracle VARCHAR2 en hoe u het VARCHAR2 gegevenstype kunt gebruiken om kolommen met tekenreeksen met variabele lengte in een tabel te definiëren.

  • Was deze zelfstudie nuttig?
  • JaNee

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.