Zusammenfassung: In diesem Tutorial lernen Sie den Oracle VARCHAR2
-Datentyp kennen und erfahren, wie Sie ihn verwenden, um Spalten mit Zeichenfolgen variabler Länge zu definieren.
Einführung in den Oracle VARCHAR2-Datentyp
Um Zeichenfolgen variabler Länge zu speichern, verwenden Sie den Oracle VARCHAR2
-Datentyp. Eine VARCHAR2
-Spalte kann einen Wert zwischen 1 und 4000 Bytes speichern. Das bedeutet, dass Sie bei einem Ein-Byte-Zeichensatz bis zu 4000 Zeichen in einer VARCHAR2
-Spalte speichern können.
Wenn Sie eine Tabelle mit einer VARCHAR2
-Spalte erstellen, müssen Sie die maximale Zeichenfolgenlänge angeben, entweder in Bytes:
oder in Zeichen
Standardmäßig verwendet Oracle BYTE
, wenn Sie nicht ausdrücklich BYTE
oder CHAR
nach max_size
angeben. Mit anderen Worten, eine VARCHAR2(N)
-Spalte kann bis zu N
Bytes an Zeichen enthalten.
Wenn Sie eine Zeichenkette speichern, deren Größe die maximale Größe der VARCHAR2
-Spalte überschreitet, gibt Oracle einen Fehler aus.
Wenn Sie zum Beispiel eine VARCHAR2
-Spalte mit einer maximalen Größe von 20 definieren. In einem Einzelbyte-Zeichensatz können Sie bis zu 20 Zeichen speichern. Wenn Sie 21 Zeichen oder mehr speichern, gibt Oracle einen Fehler zurück.
Wenn Sie außerdem 10 Zeichen in einer VARCHAR2(20)
-Spalte speichern, verwendet Oracle nur 10 Byte für die Speicherung, nicht 20 Byte. Daher hilft Ihnen die Verwendung des Datentyps VARCHAR2
, den von der Tabelle verwendeten Speicherplatz zu sparen.
Beim Vergleich von VARCHAR2
-Werten verwendet Oracle die nicht gepolsterte Vergleichssemantik.
Oracle VARCHAR2 max length
Seit Oracle Database 12c können Sie die maximale Größe von 32767 für den Datentyp VARCHAR2
angeben. Oracle verwendet den Parameter MAX_STRING_SIZE
zur Steuerung der maximalen Größe. Wenn MAX_STRING_SIZE
STANDARD
ist, dann beträgt die maximale Größe für VARCHAR2
4000 Bytes. Wenn MAX_STRING_SIZE
EXTENDED
ist, beträgt die Größenbegrenzung für VARCHAR2
32767.
Um den Wert des Parameters MAX_STRING_SIZE
zu ermitteln, verwenden Sie die folgende Abfrage:
Oder verwenden Sie die folgende Anweisung:
Oracle VARCHAR2-Beispiele
Die folgende Anweisung erstellt eine neue Tabelle mit dem Namen econtacts
, um die Notfallkontakte der Mitarbeiter zu speichern.
Die Tabelle econtacts
hat drei VARCHAR2
-Spalten: first_name
, last_name
und phone
.
Die folgende Anweisung fügt eine neue Zeile in die Tabelle econtacts
ein:
Es funktioniert wie erwartet, da die Eingabedaten die maximale Größe der Spalte VARCHAR2
nicht überschreiten.
Die folgende Anweisung kann jedoch nicht eingefügt werden:
Da der eingegebene Vorname die maximale Länge der first_name
-Spalte überschreitet, gibt Oracle die folgende Fehlermeldung aus:
In diesem Tutorial haben Sie etwas über den Oracle VARCHAR2
gelernt und darüber, wie man den VARCHAR2
-Datentyp verwendet, um Zeichenkettenspalten mit variabler Länge in einer Tabelle zu definieren.
- War dieses Tutorial hilfreich?
- JaNein