Zusammenfassung: In diesem Tutorial lernen Sie die PostgreSQL-Zeichendatentypen CHAR, VARCHAR und TEXT kennen und erfahren, wie Sie die richtigen Zeichentypen für Ihre Tabellen auswählen.

Einführung in die PostgreSQL-Zeichentypen

PostgreSQL bietet drei primäre Zeichentypen: CHARACTER(n) oder CHAR(n), CHARACTER VARYINGING(n) oder VARCHAR(n), und TEXT, wobei n eine positive ganze Zahl ist.

Die folgende Tabelle stellt die Zeichentypen in PostgreSQL dar:

Zeichentypen Beschreibung
CHARACTER VARYING(n), VARCHAR(n) variable-Länge mit Längenbegrenzung
CHARACTER(n), CHAR(n) feste Länge, leer aufgefüllt
TEXT, VARCHAR variable unbegrenzte Länge

Beide CHAR(n) und VARCHAR(n) können bis zu n Zeichen speichern. Wenn Sie versuchen, eine Zeichenkette mit mehr als n Zeichen zu speichern, gibt PostgreSQL einen Fehler aus.

Eine Ausnahme ist jedoch, dass PostgreSQL die Leerzeichen auf die maximale Länge (n) abschneidet und die Zeichen speichert, wenn die überzähligen Zeichen alle Leerzeichen sind.

Wenn eine Zeichenkette explizit in ein CHAR(n) oder VARCHAR(n) gecastet wird, schneidet PostgreSQL die Zeichenkette auf n Zeichen ab, bevor sie in die Tabelle eingefügt wird.

Der TEXT-Datentyp kann eine Zeichenkette mit unbegrenzter Länge speichern.

Wenn Sie die Ganzzahl n für den VARCHAR-Datentyp nicht angeben, verhält er sich wie der TEXT-Datentyp. Die Leistung von VARCHAR (ohne die Größe n) und TEXT ist die gleiche.

Der einzige Vorteil der Angabe der Längenangabe für den Datentyp VARCHAR ist, dass PostgreSQL einen Fehler ausgibt, wenn Sie versuchen, eine Zeichenkette mit mehr als n Zeichen in die Spalte VARCHAR(n) einzufügen.

Im Gegensatz zu VARCHAR ist CHARACTER oder CHAR ohne Längenangabe (n) dasselbe wie CHARACTER(1) oder CHAR(1).

Im Gegensatz zu anderen Datenbanksystemen gibt es in PostgreSQL keinen Leistungsunterschied zwischen den drei Zeichentypen.

In den meisten Fällen sollten Sie TEXToder VARCHAR verwenden. Und Sie verwenden VARCHAR(n), wenn Sie möchten, dass PostgreSQL die Länge überprüft.

PostgreSQL-Zeichentyp-Beispiele

Schauen wir uns ein Beispiel an, um zu sehen, wie die Datentypen CHAR , VARCHAR und TEXT funktionieren.

Erstellen Sie zunächst eine neue Tabelle mit dem Namen character_tests:

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

Fügen Sie dann eine neue Zeile in die Tabelle character_tests ein.

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

PostgreSQL gibt einen Fehler aus:

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

Das liegt daran, dass der Datentyp der Spalte x char(1) ist und wir versucht haben, eine Zeichenfolge mit drei Zeichen in diese Spalte einzufügen. Beheben wir das Problem:

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

PostgreSQL gibt einen anderen Fehler aus:

Code language: Shell Session (shell)

Das liegt daran, dass wir versucht haben, eine Zeichenfolge mit mehr als 10 Zeichen in die Spalte y einzufügen, die den Datentyp varchar(10) hat.

Die folgende Anweisung fügt erfolgreich eine neue Zeile in die Tabelle character_tests ein.

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

Zusammenfassung

  • PostgreSQL unterstützt die Datentypen CHAR, VARCHAR und TEXT. CHAR ist ein Zeichentyp mit fester Länge, während VARCHAR und TEXT Zeichentypen mit variabler Länge sind.
  • Verwenden Sie VARCHAR(n), wenn Sie die Länge der Zeichenkette (n) überprüfen wollen, bevor Sie in eine Spalte einfügen oder diese aktualisieren.
  • VARCHAR (ohne Längenangabe) und TEXT sind gleichwertig.
  • War dieses Tutorial hilfreich?
  • JaNein

Schreibe einen Kommentar

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