Amazon Redshift
数据库开发人员指南 (API Version 2012-12-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

UDF 数据类型

UDF 可将任何标准 Amazon Redshift 数据类型用于数据参数和函数的返回值。除标准数据类型外,UDF 还支持数据类型 ANYELEMENT,Amazon Redshift 会根据运行时提供的参数自动将该数据类型转换为标准数据类型。标量 UDF 可返回数据类型 ANYELEMENT。 有关更多信息,请参阅 ANYELEMENT 数据类型

在执行期间,Amazon Redshift 会将参数从 Amazon Redshift 数据类型转换为 Python 数据类型以进行处理,然后将返回值从 Python 数据类型转换为相应的 Amazon Redshift 数据类型。有关 Amazon Redshift 数据类型的更多信息,请参阅数据类型

下表会将 Amazon Redshift 数据类型映射到 Python 数据类型。

Amazon Redshift 数据类型 Python 数据类型

smallint

integer

bigint

short

long

int

decimal 或 numeric

decimal

double

real

float

boolean

bool

char

varchar

string

timestamp

datetime

ANYELEMENT 数据类型

ANYELEMENT 是一种多态数据类型,这意味着,如果使用 ANYELEMENT 为参数的数据类型声明一个函数,则在调用该函数时,该函数可接受任何标准 Amazon Redshift 数据类型作为该参数的输入。ANYELEMENT 参数应设置为调用该函数时实际传递给该参数的数据类型。

如果某个函数使用多个 ANYELEMENT 数据类型,那么在调用该函数时,必须将这些数据类型全部解析为相同的实际数据类型。所有 ANYELEMENT 参数数据类型应设置为传递给 ANYELEMENT 的第一个参数的实际数据类型。例如,声明为 f_equal(anyelement, anyelement) 的函数将采用任意两个输入值,只要它们属于相同的数据类型。

如果某个函数的返回值声明为 ANYELEMENT,则至少一个输入参数必须是 ANYELEMENT。该返回值的实际数据类型将与为 ANYELEMENT 输入参数提供的实际数据类型相同。

本页内容: