跳转到内容
本站为社区维护的非官方中文翻译,与 Cloudflare, Inc. 无关联。本站不提供账户登录,请勿在任何非官方站点输入您的 Cloudflare 账户信息。官方文档:developers.cloudflare.com

SQL 数据类型

最后更新 查看 MarkdownAgent 设置

Basin Pipelines 支持一组用于 SQL 转换的基本数据类型和复合数据类型。这些类型可用于 stream 模式和 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}'

复合类型

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

列表类型

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

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

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

SELECT [1, 2, 3] as numbers

Basin Pipelines 提供数组函数来处理列表值,也可以使用 UNNEST 运算符将列表展开。

结构体类型

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

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

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

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

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

这篇文档对您有帮助吗?