GeeksforGeeks

PostgreSQL unterstützt einen Zeichendatentyp namens VARCHAR. Dieser Datentyp wird verwendet, um Zeichen mit begrenzter Länge zu speichern. Er wird in PostgreSQL als varchar(n) dargestellt, wobei n die Grenze für die Länge der Zeichen darstellt. Wenn n nicht angegeben ist, wird varchar als Standardwert verwendet, der eine unbegrenzte Länge hat. Jeder Versuch, eine längere Zeichenkette in der mit varchar(n) definierten Spalte zu speichern, führt dazu, dass PostgreSQL einen Fehler ausgibt. Eine Ausnahme ist jedoch, dass PostgreSQL, wenn die überschüssigen Zeichen alle Leerzeichen sind, die Leerzeichen auf die maximale Länge abschneidet und die Zeichenkette speichert. Der einzige Vorteil der Angabe der Längenangabe für den varchar-Datentyp ist, dass PostgreSQL prüft und einen Fehler ausgibt, wenn Sie versuchen, eine längere Zeichenkette in die varchar(n)-Spalte einzufügen.

Syntax: variable_name VARCHAR(n)

Beispiel:
Lassen Sie uns eine neue Tabelle (z.B. char_test) für die Demonstration mit den folgenden Befehlen erstellen:

CREATE TABLE varchar_test ( id serial PRIMARY KEY, x VARCHAR (1), y VARCHAR(10));

Nun lassen Sie uns eine neue Zeile in die Tabelle char_test mit dem folgenden Befehl einfügen:

INSERT INTO varchar_test (x, y)VALUES ( 'Geeks', 'This is a test for char' );

Zu diesem Zeitpunkt wird PostgreSQL einen Fehler auslösen, da der Datentyp der Spalte x char(1) ist und wir versucht haben, eine Zeichenkette mit drei Zeichen in diese Spalte einzufügen, wie unten gezeigt:

ERROR: value too long for type character varying(1)

So, jetzt wollen wir das Problem lösen.

INSERT INTO varchar_test (x, y)VALUES ( 'G', 'This is a test for char' );

Nun erhalten wir den gleichen Fehler für die y-Spalte, da die Anzahl der eingegebenen Zeichen größer als 10 ist, wie unten gezeigt:

ERROR: value too long for type character varying(10)

Lassen Sie uns das auch beheben.

INSERT INTO varchar_test (x, y)VALUES ( 'G', 'hello Geek' );

Nun, da wir es geschafft haben, die Werte erfolgreich dem Zeichendatentyp zuzuordnen, überprüfen Sie es, indem Sie den folgenden Befehl ausführen:

SELECT * FROM varchar_test;

Ausgabe:

Artikel-Tags :

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.