

 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.

# Python-UDF-Datentypen
<a name="udf-data-types"></a>

Python UDFs kann jeden standardmäßigen Amazon Redshift Redshift-Datentyp für die Eingabeargumente und den Rückgabewert der Funktion verwenden. UDFs Unterstützt zusätzlich zu den Standarddatentypen den Datentyp *ANYELEMENT*, den Amazon Redshift auf der Grundlage der zur Laufzeit bereitgestellten Argumente automatisch in einen Standarddatentyp konvertiert. Scalar UDFs kann den Datentyp ANYELEMENT zurückgeben. Weitere Informationen finden Sie unter [Datentyp ANYELEMENT](#udf-anyelement-data-type).

Während der Ausführung konvertiert Amazon Redshift die Argumente von Amazon-Redshift-Datentypen zu Python-Datentypen zur Verarbeitung. Anschließend wird der Rückgabewert vom Python-Datentyp in den entsprechenden Amazon-Redshift-Datentyp konvertiert. Weitere Informationen zu Amazon-Redshift-Datentypen finden Sie unter [Datentypen](c_Supported_data_types.md).

Die folgende Tabelle enthält eine Zuordnung von Amazon-Redshift-Datentypen und Python-Datentypen.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/dg/udf-data-types.html)

## Datentyp ANYELEMENT
<a name="udf-anyelement-data-type"></a>

ANYELEMENT ist ein *polymorpher Datentyp*. Wenn eine Funktion unter Verwendung von ANYELEMENT für den Datentyp eines Arguments deklariert wird, kann die Funktion alle Amazon-Redshift-Standarddatentypen als Eingabe für das betreffende Argument akzeptieren, wenn die Funktion aufgerufen wird. Der ANYELEMENT-Parameter wird auf den übergebenen Datentyp gesetzt, wenn die Funktion aufgerufen wird.

Wenn eine Funktion mehrere ANYELEMENT-Datentypen verwendet, werden sie beim Funktionsaufruf alle in denselben Datentyp aufgelöst. Alle ANYELEMENT-Parameter werden auf den Datentyp gesetzt, in den der erste übergebene ANYELEMENT-Parameter aufgelöst wird. Wenn eine Funktion beispielsweise als `f_equal(anyelement, anyelement)` deklariert ist, kann sie zwei beliebige Eingabewerte entgegennehmen, solange diese vom selben Datentyp sind.

Wenn Sie eine Funktion selbst als ANYELEMENT deklarieren, muss mindestens einer der Eingabeparameter vom Typ ANYELEMENT sein. Der tatsächliche Datentyp für den Rückgabewert ist identisch mit dem tatsächlichen Datentyp, der für das ANYELEMENT-Eingabeargument bereitgestellt wird. 