View a markdown version of this page

Beispiele mit Zeichentypen - Amazon Redshift

Amazon Redshift unterstützt die Verwendung von Python-UDFs nach dem 30. Juni 2026 nicht mehr. Wir werden damit beginnen, es schrittweise durchzusetzen. Weitere Informationen zum Ende der Lebensdauer von Python und zu den Migrationsoptionen finden Sie im Blogbeitrag, der am 30. Juni 2025 veröffentlicht wurde.

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.

Beispiele mit Zeichentypen

CREATE TABLE-Anweisung

Die folgende CREATE TABLE-Anweisung illustriert die Verwendung der Datentypen VARCHAR und CHAR:

create table address( address_id integer, address1 varchar(100), address2 varchar(50), district varchar(20), city_name char(20), state char(2), postal_code char(5) );

Die folgenden Beispiele verwenden diese Tabelle.

Leerzeichen am Ende von Zeichenfolgen mit variabler Länge

Da es sich bei ADDRESS1 um eine VARCHAR-Spalte handelt, sind die Leerzeichen am Ende der zweiten eingefügten Adresse semantisch ohne Bedeutung. In anderen Worten: Diese beiden eingefügten Adressen stimmen überein.

insert into address(address1) values('9516 Magnolia Boulevard'); insert into address(address1) values('9516 Magnolia Boulevard ');
select count(*) from address where address1='9516 Magnolia Boulevard'; count ------- 2 (1 row)

Wenn die Spalte ADDRESS1 eine CHAR-Spalte wäre und dieselben Werte eingefügt werden, würde die COUNT(*)-Abfrage die Zeichenfolgen als identisch erkennen und ausgeben 2.

Ergebnisse der LENGTH-Funktion

Die LENGTH-Funktion erkennt Leerzeichen am Ende von VARCHAR-Spalten:

select length(address1) from address; length -------- 23 25 (2 rows)

Für den Wert Augusta in der Spalte CITY_NAME, einer CHAR-Spalte, würde immer eine Länge von 7 Zeichen ausgegeben werden, unabhängig von evtl. vorhandenen Leerzeichen am Ende der Eingabezeichenfolge.

Werte, die die Länge der Spalte überschreiten

Zeichenfolgen werden nie gekürzt, um der deklarierten Spaltenbreite zu entsprechen:

insert into address(city_name) values('City of South San Francisco'); ERROR: value too long for type character(20)

Sie können dieses Problem umgehen, indem Sie den Wert an die Spaltengröße anpassen:

insert into address(city_name) values('City of South San Francisco'::char(20));

In diesem Fall würden die ersten 20 Zeichen der Zeichenfolge (City of South San Fr) in die Spalte geladen werden.