Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Types UDF de données Python
Python UDFs peut utiliser n'importe quel type de données Amazon Redshift standard pour les arguments d'entrée et la valeur de retour de la fonction. Outre les types de données standard, prenez en UDFs charge le type de données ANYELEMENT, qu'Amazon Redshift convertit automatiquement en type de données standard en fonction des arguments fournis lors de l'exécution. Scalar UDFs peut renvoyer un type de données de. ANYELEMENT Pour de plus amples informations, veuillez consulter ANYELEMENTtype de données.
Au cours de l'exécution, Amazon Redshift convertit les arguments des types de données Amazon Redshift en types de données Python pour pouvoir les traiter. Il convertit ensuite la valeur de retour du type de données Python en type de données Amazon Redshift correspondant. Pour plus d'informations sur les types de données Amazon Redshift, consultez Types de données.
Le tableau suivant mappe les types de données Amazon Redshift aux types de données Python.
Type de données Amazon Redshift | Type de données Python |
---|---|
smallint integer bigint short long |
int |
decimal ou numeric |
decimal |
double real |
float |
boolean |
bool |
char varchar |
chaîne |
timestamp |
datetime |
ANYELEMENTtype de données
ANYELEMENTest un type de données polymorphe. Cela signifie que si une fonction est déclarée en utilisant ANYELEMENT le type de données d'un argument, elle peut accepter n'importe quel type de données Amazon Redshift standard comme entrée pour cet argument lorsque la fonction est appelée. L'ANYELEMENTargument est défini sur le type de données qui lui est réellement transmis lorsque la fonction est appelée.
Si une fonction utilise plusieurs types de ANYELEMENT données, ils doivent tous être résolus dans le même type de données réel lorsque la fonction est appelée. Tous les types de données d'ANYELEMENTarguments sont définis sur le type de données réel du premier argument passé à unANYELEMENT. Par exemple, une fonction déclarée comme f_equal(anyelement, anyelement)
prendra les deux valeurs d'entrée, tant qu'elles sont du même type de données.
Si la valeur de retour d'une fonction est déclarée commeANYELEMENT, au moins un argument d'entrée doit l'êtreANYELEMENT. Le type de données réel pour la valeur de retour est le même que le type de données réel fourni pour l'argument ANYELEMENT d'entrée.