| Name | Description |
|---|---|
struct.entry | Dot notation that serves as an alias for struct_extract from named STRUCTs. |
struct[entry] | Bracket notation that serves as an alias for struct_extract from named STRUCTs. |
struct[idx] | Bracket notation that serves as an alias for struct_extract from unnamed STRUCTs (tuples), using an index (1-based). |
row(any, ...) | Create an unnamed STRUCT (tuple) containing the argument values. |
struct_concat(structs...) | Merge the multiple structs into a single STRUCT. |
struct_extract(struct, 'entry') | Extract the named entry from the STRUCT. |
struct_extract(struct, idx) | Extract the entry from an unnamed STRUCT (tuple) using an index (1-based). |
struct_extract_at(struct, idx) | Extract the entry from a STRUCT (tuple) using an index (1-based). |
struct_insert(struct, name := any, ...) | Add field(s)/value(s) to an existing STRUCT with the argument values. The entry name(s) will be the bound variable name(s). |
struct_pack(name := any, ...) | Create a STRUCT containing the argument values. The entry name will be the bound variable name. |
struct.entry
| Description | Dot notation that serves as an alias for struct_extract from named STRUCTs. |
| Example | ({'i': 3, 's': 'string'}).i |
| Result | 3 |
struct[entry]
| Description | Bracket notation that serves as an alias for struct_extract from named STRUCTs. |
| Example | ({'i': 3, 's': 'string'})['i'] |
| Result | 3 |
struct[idx]
| Description | Bracket notation that serves as an alias for struct_extract from unnamed STRUCTs (tuples), using an index (1-based). |
| Example | (row(42, 84))[1] |
| Result | 42 |
row(any, ...)
| Description | Create an unnamed STRUCT (tuple) containing the argument values. |
| Example | row(i, i % 4, i / 4) |
| Result | (10, 2, 2.5) |
struct_concat(structs...)
| Description | Merge the multiple structs into a single STRUCT. |
| Example | struct_concat(struct_pack(i := 4), struct_pack(s := 'string')) |
| Result | {'i': 4, 's': string} |
struct_extract(struct, 'entry')
| Description | Extract the named entry from the STRUCT. |
| Example | struct_extract({'i': 3, 'v2': 3, 'v3': 0}, 'i') |
| Result | 3 |
struct_extract(struct, idx)
| Description | Extract the entry from an unnamed STRUCT (tuple) using an index (1-based). |
| Example | struct_extract(row(42, 84), 1) |
| Result | 42 |
struct_extract_at(struct, idx)
| Description | Extract the entry from a STRUCT (tuple) using an index (1-based). |
| Example | struct_extract_at({'v1': 10, 'v2': 20, 'v3': 3}, 20) |
| Result | 20 |
struct_insert(struct, name := any, ...)
| Description | Add field(s)/value(s) to an existing STRUCT with the argument values. The entry name(s) will be the bound variable name(s). |
| Example | struct_insert({'a': 1}, b := 2) |
| Result | {'a': 1, 'b': 2} |
struct_pack(name := any, ...)
| Description | Create a STRUCT containing the argument values. The entry name will be the bound variable name. |
| Example | struct_pack(i := 4, s := 'string') |
| Result | {'i': 4, 's': string} |
© 2025 DuckDB Foundation, Amsterdam NL