⌘+k ctrl+k
1.4 (LTS)
搜索快捷键 cmd + k | ctrl + k
结构体函数
名称 描述
struct.entry 点记法,用作命名 STRUCT(结构体)中 struct_extract 的别名。
struct[entry] 括号记法,用作命名 STRUCT(结构体)中 struct_extract 的别名。
struct[idx] 括号记法,用作未命名 STRUCT(元组)中 struct_extract 的别名,使用索引(从 1 开始)。
row(any, ...) 创建一个包含参数值的未命名 STRUCT(元组)。
struct_concat(structs...) 将多个 structs 合并为一个 STRUCT
struct_contains(struct, entry) 检查 STRUCT 是否包含指定的条目。
struct_extract(struct, 'entry') STRUCT 中提取命名条目。
struct_extract(struct, idx) 使用索引(从 1 开始)从未命名 STRUCT(元组)中提取条目。
struct_extract_at(struct, idx) 使用索引(从 1 开始)从 STRUCT(元组)中提取条目。
struct_insert(struct, name := any, ...) 向现有的 STRUCT 中添加字段。
struct_pack(name := any, ...) 创建一个包含参数值的 STRUCT。条目名称将是绑定的变量名。
struct_position(struct, entry) 返回条目在 STRUCT 中的索引(从 1 开始),如果未找到则返回 NULL
struct_update(struct, name := any, ...) 添加或更新现有 STRUCT 的字段。

struct.entry

描述 点记法,用作命名 STRUCT(结构体)中 struct_extract 的别名。
示例 ({'i': 3, 's': 'string'}).i
结果 3

struct[entry]

描述 括号记法,用作命名 STRUCT(结构体)中 struct_extract 的别名。
示例 ({'i': 3, 's': 'string'})['i']
结果 3

struct[idx]

描述 括号记法,用作未命名 STRUCT(元组)中 struct_extract 的别名,使用索引(从 1 开始)。
示例 (row(42, 84))[1]
结果 42

row(any, ...)

描述 创建一个包含参数值的未命名 STRUCT(元组)。
示例 row(i, i % 4, i / 4)
结果 (10, 2, 2.5)

struct_concat(structs...)

描述 将多个 structs 合并为一个 STRUCT
示例 struct_concat(struct_pack(i := 4), struct_pack(s := 'string'))
结果 {'i': 4, 's': string}

struct_contains(struct, entry)

描述 检查 STRUCT 是否包含指定的条目。
示例 struct_contains(row(1, 2, 3), 2)
结果 true
别名 struct_has

struct_extract(struct, 'entry')

描述 STRUCT 中提取命名条目。
示例 struct_extract({'i': 3, 'v2': 3, 'v3': 0}, 'i')
结果 3

struct_extract(struct, idx)

描述 使用索引(从 1 开始)从未命名 STRUCT(元组)中提取条目。
示例 struct_extract(row(42, 84), 1)
结果 42

struct_extract_at(struct, idx)

描述 使用索引(从 1 开始)从 STRUCT(元组)中提取条目。
示例 struct_extract_at({'v1': 10, 'v2': 20, 'v3': 3}, 20)
结果 20

struct_insert(struct, name := any, ...)

描述 向现有的 STRUCT 中添加字段。
示例 struct_insert({'a': 1}, b := 2)
结果 {'a': 1, 'b': 2}

struct_pack(name := any, ...)

描述 创建一个包含参数值的 STRUCT。条目名称将是绑定的变量名。
示例 struct_pack(i := 4, s := 'string')
结果 {'i': 4, 's': string}

struct_position(struct, entry)

描述 返回条目在 STRUCT 中的索引(从 1 开始),如果未找到则返回 NULL
示例 struct_position(row(1, 2, 3), 2)
结果 2
别名 struct_indexof

struct_update(struct, name := any, ...)

描述 添加或更新现有 STRUCT 的字段。
示例 struct_update({'a': 1, 'b': 2}, b := 3, c := 4)
结果 {'a': 1, 'b': 3, 'c': 4}
© 2025 DuckDB 基金会,阿姆斯特丹,荷兰
行为准则 商标使用指南