Zeichentypen - Amazon Redshift

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Zeichentypen

Zu den Zeichendatentypen gehören CHAR (Zeichen) und VARCHAR (Zeichen variierend).

Speicherung und Bereiche

CHARund VARCHAR Datentypen werden in Byte und nicht in Zeichen definiert. Eine CHAR Spalte kann nur Einzelbyte-Zeichen enthalten, sodass eine Spalte CHAR (10) eine Zeichenfolge mit einer maximalen Länge von 10 Byte enthalten kann. A VARCHAR kann Multibyte-Zeichen enthalten, bis zu einem Maximum von vier Byte pro Zeichen. Eine Spalte VARCHAR (12) kann beispielsweise 12 Einzelbyte-Zeichen, 6 Zwei-Byte-Zeichen, 4 Drei-Byte-Zeichen oder 3 Vier-Byte-Zeichen enthalten.

Name Speicher Bereich (Breite der Spalte)
CHAR, oder CHARACTER NCHAR Länge der Zeichenfolge einschließlich der Leerzeichen am Ende (falls vorhanden) 4096 Bytes
VARCHAR, CHARACTERVARYING, oder NVARCHAR 4 Bytes + alle Bytes für Zeichen, wobei jedes Zeichen zwischen 1 und 4 Bytes lang ist. 65535 Bytes (64 K -1)
BPCHAR In eine feste Länge CHAR (256) umgewandelt. 256 Byte
TEXT Konvertiert in VARCHAR (256). 260 Bytes
Anmerkung

Die CREATE TABLE Syntax unterstützt das MAX Schlüsselwort für Zeichendatentypen. Beispielsweise:

create table test(col1 varchar(max));

Die MAX Einstellung definiert die Breite der Spalte als 4096 Byte für CHAR oder 65535 Byte für. VARCHAR

CHARoder CHARACTER

Verwenden Sie eine CHAR CHARACTER OR-Spalte, um Zeichenketten fester Länge zu speichern. Diese Zeichenketten werden mit Leerzeichen aufgefüllt, sodass eine Spalte CHAR (10) immer 10 Byte Speicherplatz belegt.

char(10)

Eine CHAR Spalte ohne Längenangabe ergibt eine CHAR (1) Spalte.

VARCHARoder CHARACTER VARYING

Verwenden Sie eine VARCHAR CHARACTER VARYING OR-Spalte, um Zeichenketten variabler Länge mit einem festen Limit zu speichern. Diese Zeichenketten werden nicht mit Leerzeichen aufgefüllt, sodass eine Spalte VARCHAR (120) aus maximal 120 Einzelbyte-Zeichen, 60 Zwei-Byte-Zeichen, 40 Drei-Byte-Zeichen oder 30 Vier-Byte-Zeichen besteht.

varchar(120)

Wenn Sie den VARCHAR Datentyp ohne Längenangabe in einer CREATE TABLE Anweisung verwenden, ist die Standardlänge 256. Bei Verwendung in einem Ausdruck wird die Größe der Ausgabe anhand des Eingabeausdrucks (bis zu 65535) bestimmt.

NCHARund Typen NVARCHAR

Sie können Spalten mit den NVARCHAR Typen NCHAR und (auch als NATIONAL CHARACTER NATIONAL CHARACTER VARYING und-Typen bezeichnet) erstellen. Diese Typen werden in VARCHAR Typen bzw. Typen konvertiert CHAR und in der angegebenen Anzahl von Byte gespeichert.

Eine NCHAR Spalte ohne Längenangabe wird in eine CHAR (1) Spalte konvertiert.

Eine NVARCHAR Spalte ohne Längenangabe wird in eine VARCHAR (256) Spalte umgewandelt.

TEXTund BPCHAR Typen

Sie können eine Amazon Redshift Redshift-Tabelle mit einer TEXT Spalte erstellen, aber sie wird in eine VARCHAR (256) Spalte konvertiert, die Werte variabler Länge mit maximal 256 Zeichen akzeptiert.

Sie können eine Amazon Redshift-Spalte mit einem Typ BPCHAR (mit Leerzeichen) erstellen, den Amazon Redshift in eine Spalte mit fester CHAR Länge (256) konvertiert.

Die Bedeutung von Leerzeichen am Ende

CHARSowohl als auch VARCHAR Datentypen speichern Zeichenketten mit einer Länge von bis zu n Byte. Jeder Versuch, eine längere Zeichenfolge in eine Spalten dieses Typs einzufügen, verursacht einen Fehler – nur wenn es sich bei den überschüssigen Zeichen um Leerzeichen handelt, wird die Zeichenfolge auf die maximal zulässige Länge gekürzt. Wenn die Zeichenfolge kürzer als die maximale Länge ist, werden CHAR Werte mit Leerzeichen aufgefüllt, VARCHAR Werte speichern die Zeichenfolge jedoch ohne Leerzeichen.

Nachstehende Leerzeichen in CHAR Werten sind semantisch immer unbedeutend. Sie werden ignoriert, wenn Sie zwei CHAR Werte vergleichen, sie werden nicht in LENGTH Berechnungen berücksichtigt und entfernt, wenn Sie einen CHAR Wert in einen anderen Zeichenfolgentyp konvertieren.

Nachstehende Leerzeichen in CHAR Werten VARCHAR und Werten werden beim Vergleich von Werten als semantisch unbedeutend behandelt.

Längenberechnungen geben die Länge von VARCHAR Zeichenketten zurück, wobei nachfolgende Leerzeichen in der Länge enthalten sind. Leerzeichen am Ende werden im Fall von Zeichenfolgen mit fester Länge nicht zu der Länge gezählt.