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.
CASTFunktion in Amazon QLDB
Wichtig
Hinweis zum Ende des Supports: Bestandskunden können Amazon QLDB bis zum Ende des Supports am 31.07.2025 nutzen. Weitere Informationen finden Sie unter Migrieren eines Amazon QLDB Ledgers zu Amazon Aurora SQL Postgre
Verwenden Sie in Amazon die CAST
FunktionQLDB, um einen bestimmten Ausdruck in einen Wert auszuwerten und den Wert in einen bestimmten Zieldatentyp umzuwandeln. Wenn die Konvertierung nicht durchgeführt werden kann, gibt die Funktion einen Fehler zurück.
Syntax
CAST (
expression
AStype
)
Argumente
expression
-
Der Feldname oder der Ausdruck, der zu einem Wert ausgewertet wird, den die Funktion umwandelt. Die Konvertierung von Null-Werten gibt Null-Werte zurück. Dieser Parameter kann jeder der unterstützten Datentypen sein.
type
-
Der Name des Zieldatentyps für die Umwandlung. Bei diesem Parameter kann es sich um einen der unterstützten Datentypen handeln.
Rückgabetyp
Der Datentyp, der durch den type
Argument.
Beispiele
Die folgenden Beispiele zeigen die Propagierung unbekannter Typen (NULL
oder MISSING
).
CAST(null AS null) -- null CAST(missing AS null) -- null CAST(missing AS missing) -- missing CAST(null AS missing) -- missing CAST(null AS boolean) -- null (null AS any data type name results in null) CAST(missing AS boolean) -- missing (missing AS any data type name results in missing)
Jeder Wert, der kein unbekannter Typ ist, kann nicht in NULL
oder umgewandelt werdenMISSING
.
CAST(true AS null) -- error CAST(true AS missing) -- error CAST(1 AS null) -- error CAST(1 AS missing) -- error
In den nachstehenden Beispielen wird die Umwandlung von AS boolean
veranschaulicht.
CAST(true AS boolean) -- true no-op CAST(0 AS boolean) -- false CAST(1 AS boolean) -- true CAST(`1e0` AS boolean) -- true (float) CAST(`1d0` AS boolean) -- true (decimal) CAST('a' AS boolean) -- false CAST('true' AS boolean) -- true (SqlName string 'true') CAST(`'true'` AS boolean) -- true (Ion symbol `'true'`) CAST(`'false'` AS boolean) -- false (Ion symbol `'false'`)
In den nachstehenden Beispielen wird die Umwandlung von AS integer
veranschaulicht.
CAST(true AS integer) -- 1 CAST(false AS integer) -- 0 CAST(1 AS integer) -- 1 CAST(`1d0` AS integer) -- 1 CAST(`1d3` AS integer) -- 1000 CAST(1.00 AS integer) -- 1 CAST(1.45 AS integer) -- 1 CAST(1.75 AS integer) -- 1 CAST('12' AS integer) -- 12 CAST('aa' AS integer) -- error CAST(`'22'` AS integer) -- 22 CAST(`'x'` AS integer) -- error
In den nachstehenden Beispielen wird die Umwandlung von AS float
veranschaulicht.
CAST(true AS float) -- 1e0 CAST(false AS float) -- 0e0 CAST(1 AS float) -- 1e0 CAST(`1d0` AS float) -- 1e0 CAST(`1d3` AS float) -- 1000e0 CAST(1.00 AS float) -- 1e0 CAST('12' AS float) -- 12e0 CAST('aa' AS float) -- error CAST(`'22'` AS float) -- 22e0 CAST(`'x'` AS float) -- error
In den nachstehenden Beispielen wird die Umwandlung von AS decimal
veranschaulicht.
CAST(true AS decimal) -- 1. CAST(false AS decimal) -- 0. CAST(1 AS decimal) -- 1. CAST(`1d0` AS decimal) -- 1. (REPL printer serialized to 1.) CAST(`1d3` AS decimal) -- 1d3 CAST(1.00 AS decimal) -- 1.00 CAST('12' AS decimal) -- 12. CAST('aa' AS decimal) -- error CAST(`'22'` AS decimal) -- 22. CAST(`'x'` AS decimal) -- error
In den nachstehenden Beispielen wird die Umwandlung von AS timestamp
veranschaulicht.
CAST(`2001T` AS timestamp) -- 2001T CAST('2001-01-01T' AS timestamp) -- 2001-01-01T CAST(`'2010-01-01T00:00:00.000Z'` AS timestamp) -- 2010-01-01T00:00:00.000Z CAST(true AS timestamp) -- error CAST(2001 AS timestamp) -- error
In den nachstehenden Beispielen wird die Umwandlung von AS symbol
veranschaulicht.
CAST(`'xx'` AS symbol) -- xx (`'xx'` is an Ion symbol) CAST('xx' AS symbol) -- xx ('xx' is a string) CAST(42 AS symbol) -- '42' CAST(`1e0` AS symbol) -- '1.0' CAST(`1d0` AS symbol) -- '1' CAST(true AS symbol) -- 'true' CAST(false AS symbol) -- 'false' CAST(`2001T` AS symbol) -- '2001T' CAST(`2001-01-01T00:00:00.000Z` AS symbol) -- '2001-01-01T00:00:00.000Z'
In den nachstehenden Beispielen wird die Umwandlung von AS string
veranschaulicht.
CAST(`'xx'` AS string) -- "xx" (`'xx'` is an Ion symbol) CAST('xx' AS string) -- "xx" ('xx' is a string) CAST(42 AS string) -- "42" CAST(`1e0` AS string) -- "1.0" CAST(`1d0` AS string) -- "1" CAST(true AS string) -- "true" CAST(false AS string) -- "false" CAST(`2001T` AS string) -- "2001T" CAST(`2001-01-01T00:00:00.000Z` AS string) -- "2001-01-01T00:00:00.000Z"
In den nachstehenden Beispielen wird die Umwandlung von AS struct
veranschaulicht.
CAST(`{ a: 1 }` AS struct) -- {a:1} CAST(true AS struct) -- err
In den nachstehenden Beispielen wird die Umwandlung von AS list
veranschaulicht.
CAST(`[1, 2, 3]` AS list) -- [1,2,3] CAST(<<'a', { 'b':2 }>> AS list) -- ["a",{'b':2}] CAST({ 'b':2 } AS list) -- error
Bei den folgenden Beispielen handelt es sich um ausführbare Anweisungen, die einige der vorherigen Beispiele enthalten.
SELECT CAST(true AS integer) FROM << 0 >> -- 1 SELECT CAST('2001-01-01T' AS timestamp) FROM << 0 >> -- 2001-01-01T SELECT CAST('xx' AS symbol) FROM << 0 >> -- xx SELECT CAST(42 AS string) FROM << 0 >> -- "42"