Überlegungen zu Datentypen - Amazon Athena

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.

Überlegungen zu Datentypen

Größenbeschränkungen

Beachten Sie bei Datentypen, für die keine Größenbeschränkung angegeben ist, dass es für alle Daten in einer einzelnen Zeile eine praktische Grenze von 32 MB gibt. Weitere Informationen finden Sie unter Row or column size limitation in Überlegungen und Einschränkungen für SQL Abfragen in Amazon Athena.

CHARund VARCHAR

Ein CHAR(n) Wert hat immer eine Anzahl von n Zeichen. Wenn Sie beispielsweise 'abc' in umwandelnCHAR(7), werden 4 abschließende Leerzeichen hinzugefügt.

Vergleiche von CHAR Werten beinhalten führende und nachfolgende Leerzeichen.

Wenn für CHAR oder eine Länge angegeben wirdVARCHAR, werden Zeichenketten beim Lesen auf die angegebene Länge gekürzt. Wenn die zugrunde liegende Datenzeichenfolge länger ist, bleibt die zugrunde liegende Datenzeichenfolge unverändert.

Um ein einfaches Anführungszeichen in einem CHAR Oder zu maskierenVARCHAR, verwenden Sie ein zusätzliches einfaches Anführungszeichen.

Um einen Datentyp, der keine Zeichenfolge ist, in eine Zeichenfolge in einer DML Abfrage umzuwandeln, konvertieren Sie in den VARCHAR Datentyp.

Um mit der substr Funktion eine Teilzeichenfolge der angegebenen Länge aus einem CHAR Datentyp zurückzugeben, müssen Sie den CHAR Wert zunächst in ein umwandeln. VARCHAR Im folgenden Beispiel wird der CHAR Datentyp col1 verwendet.

substr(CAST(col1 AS VARCHAR), 1, 4)

DECIMAL

Um Dezimalwerte in SELECT Abfragen als Literale anzugeben, z. B. bei der Auswahl von Zeilen mit einem bestimmten Dezimalwert, können Sie den DECIMAL Typ angeben und den Dezimalwert in Ihrer Abfrage als Literal in einfachen Anführungszeichen auflisten, wie in den folgenden Beispielen.

SELECT * FROM my_table WHERE decimal_value = DECIMAL '0.12'
SELECT DECIMAL '44.6' + DECIMAL '77.2'