Beispiele mit 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.

Beispiele mit Zeichentypen

CREATETABLEAussage

Die folgende CREATE TABLE Aussage demonstriert die Verwendung von VARCHAR CHAR Datentypen:

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 ADDRESS1 es sich um eine VARCHAR Spalte handelt, sind die nachfolgenden Leerzeichen in der zweiten eingefügten Adresse semantisch unbedeutend. 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 ADDRESS1 Spalte eine CHAR Spalte wäre und dieselben Werte eingefügt würden, würde die COUNT (*) -Abfrage die Zeichenketten als identisch erkennen und zurückgeben. 2

Ergebnisse der LENGTH Funktion

Die LENGTH Funktion erkennt nachfolgende Leerzeichen in VARCHAR Spalten:

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

Ein Wert von Augusta in der NAME Spalte CITY _, bei der es sich um eine CHAR Spalte handelt, würde immer eine Länge von 7 Zeichen zurückgeben, unabhängig von nachfolgenden Leerzeichen in 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.