

 Amazon Redshift unterstützt UDFs ab Patch 198 nicht mehr die Erstellung von neuem Python. Das bestehende Python UDFs wird bis zum 30. Juni 2026 weiterhin funktionieren. Weitere Informationen finden Sie im [Blog-Posting](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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.

# OBJECT\$1TRANSFORM-Funktion
<a name="r_object_transform_function"></a>

Transformiert ein SUPER-Objekt.

## Syntax
<a name="r_object_transform_function-synopsis"></a>

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

## Argumente
<a name="r_object_transform_function-arguments"></a>

*input*  
Ein Ausdruck, der in ein Objekt vom Typ SUPER aufgelöst wird.

*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 der KEEP- als auch in der SET-Klausel.

*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 Werte vom Typ SUPER aufgelöst werden. Beachten Sie, dass numerische, Text- und boolesche Typen in SUPER aufgelöst werden können.

## Rückgabetyp
<a name="r_object_transform_function-returns"></a>

`SUPER`

## Nutzungshinweise
<a name="r_object_transform_function-usage-notes"></a>

OBJECT\$1TRANSFORM gibt ein Objekt vom Typ SUPER zurück, das die Pfadwerte aus der *Eingabe* enthält, die in KEEP angegeben wurden, und die *Pfad*-*Wert*-Paare, die in SET angegeben wurden. 

Wenn sowohl KEEP als auch SET leer sind, gibt OBJECT\$1TRANSFORM *Eingabe* zurück.

Wenn es sich bei *Eingabe* nicht um ein *Objekt* vom Typ SUPER handelt, gibt OBJECT\$1TRANSFORM unabhängig von KEEP- oder SET-Werten *Eingabe* zurück.

## Beispiel
<a name="r_object_transform_function-example"></a>

Im folgenden Beispiel wird ein SUPER-Objekt in ein anderes 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"
}
```