OBJECTFunktion _ TRANSFORM - 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.

OBJECTFunktion _ TRANSFORM

Transformiert ein SUPER Objekt.

Syntax

OBJECT_TRANSFORM( input [KEEP path1, ...] [SET path1, value1, ..., ... ] )

Argumente

input

Ein Ausdruck, der in ein Typobjekt aufgelöst wirdSUPER.

KEEP

Alle in dieser Klausel angegebenen Pfad-Werte werden beibehalten und auf das Ausgabeobjekt übertragen.

Diese Klausel ist optional.

path1, path2, ...

Konstante Zeichenfolgenliterale im Format von Pfadkomponenten in doppelten Anführungszeichen, die durch Punkte getrennt sind. Beispielsweise ist '"a"."b"."c"' ein gültiger Pfad-Wert. Dies gilt für den Pfadparameter sowohl in den als auch in den KEEP SET Klauseln.

SET

Pfad- und Wert-Paare, um einen bestehenden Pfad zu ändern oder einen neuen Pfad hinzuzufügen und den Wert dieses Pfads im Ausgabeobjekt festzulegen.

Diese Klausel ist optional.

value1, value2, ...

Ausdrücke, die in SUPER Typwerte aufgelöst werden. Beachten Sie, dass numerische, textuelle und boolesche Typen in aufgelöst werden können. SUPER

Rückgabetyp

SUPER

Nutzungshinweise

OBJECT_ TRANSFORM gibt ein SUPER Typobjekt zurück, das die Pfadwerte aus der Eingabe enthält, die in angegeben wurden, KEEP und die Pfad - und Wertepaare, die in angegeben wurden. SET

Wenn beide KEEP und leer SET sind, TRANSFORM gibt OBJECT _ eine Eingabe zurück.

Wenn es sich bei der Eingabe nicht um ein SUPER Typobjekt handelt, TRANSFORM gibt OBJECT _ eine Eingabe zurück, unabhängig von den SET Werten KEEP oder.

Beispiel

Im folgenden Beispiel wird ein Objekt in ein anderes SUPER SUPER Objekt umgewandelt.

CREATE TABLE employees ( col_person SUPER ); INSERT INTO employees VALUES ( json_parse(' { "name": { "first": "John", "last": "Doe" }, "age": 25, "ssn": "111-22-3333", "company": "Company Inc.", "country": "U.S." } ') ), ( json_parse(' { "name": { "first": "Jane", "last": "Appleseed" }, "age": 34, "ssn": "444-55-7777", "company": "Organization Org.", "country": "Ukraine" } ') ) ; SELECT OBJECT_TRANSFORM( col_person KEEP '"name"."first"', '"age"', '"company"', '"country"' SET '"name"."first"', UPPER(col_person.name.first::TEXT), '"age"', col_person.age + 5, '"company"', 'Amazon' ) AS col_person_transformed FROM employees; --This result is formatted for ease of reading. col_person_transformed ------------------------------------------------------------- { "name": { "first": "JOHN" }, "age": 30, "company": "Amazon", "country": "U.S." } { "name": { "first": "JANE" }, "age": 39, "company": "Amazon", "country": "Ukraine" }