跳转到内容
搜索文档

SQL 数据类型

最后更新 查看 MarkdownAgent 设置

Cloudflare Pipelines 支持一组基本类型和复合类型,用于 SQL 转换。这些类型可用于 stream schema 和 SQL 字面量,并支持自动类型推断。

基本类型

Pipelines SQL 类型 示例字面量
bool BOOLEAN TRUE, FALSE
int32 INT, INTEGER 0, 1, -2
int64 BIGINT 0, 1, -2
float32 FLOAT, REAL 0.0, -2.4, 1E-3
float64 DOUBLE 0.0, -2.4, 1E-35
string VARCHAR, CHAR, TEXT, STRING "hello", "world"
timestamp TIMESTAMP '2020-01-01', '2023-05-17T22:16:00.648662+00:00'
binary BYTEA X'A123'(十六进制)
json JSON '{"event": "purchase", "amount": 29.99}'

复合类型

除基本类型外,Pipelines SQL 还支持用于更复杂数据结构的复合类型。

列表类型

列表将零个或多个相同类型的元素组合在一起。在 stream schema 中,列表使用 list 类型声明,并通过 items 字段指定元素类型。在 SQL 中,列表对应数组,通过在另一类型后添加 [] 声明,例如 INT[]

列表值可使用从 1 开始的下标表示法(v[1]v 的第一个元素)进行索引。

列表可通过 [] 字面量构造:

SELECT [1, 2, 3] as numbers

Pipelines 提供用于操作列表值的数组函数,列表可使用 UNNEST 运算符展开。

结构体类型

结构体将相关字段组合为单个值。在 stream schema 中,结构体使用 struct 类型和 fields 数组声明。在 SQL 中,结构体可使用 struct 函数创建。

在 SQL 中创建结构体的示例:

SELECT struct('user123', 'purchase', 29.99) as event_data FROM events

这将创建一个包含字段 c0c1c2 的结构体,分别存储用户 ID、事件类型和金额。

结构体字段可通过 . 表示法访问,例如 event_data.c0 表示用户 ID。

这篇文档对您有帮助吗?