Skip to content

Commit

Permalink
Docs: Improve documentation for struct function` (#6754)
Browse files Browse the repository at this point in the history
  • Loading branch information
alamb committed Jun 25, 2023
1 parent 878fec1 commit 2d69ddb
Showing 1 changed file with 41 additions and 17 deletions.
58 changes: 41 additions & 17 deletions docs/source/user-guide/sql/scalar_functions.md
Original file line number Diff line number Diff line change
Expand Up @@ -1606,6 +1606,47 @@ trim_array(array, n)
Can be a constant, column, or function, and any combination of array operators.
- **n**: Element to trim the array.

## Struct Functions

- [struct](#struct)

### `struct`

Returns an Arrow struct using the specified input expressions.
Fields in the returned struct use the `cN` naming convention.
For example: `c0`, `c1`, `c2`, etc.

```
struct(expression1[, ..., expression_n])
```

For example, this query converts two columns `a` and `b` to a single column with
a struct type of fields `c0` and `c1`:

```sql
select * from t;
+---+---+
| a | b |
+---+---+
| 1 | 2 |
| 3 | 4 |
+---+---+

select struct(a, b) from t;
+-----------------+
| struct(t.a,t.b) |
+-----------------+
| {c0: 1, c1: 2} |
| {c0: 3, c1: 4} |
+-----------------+
```

#### Arguments

- **expression_n**: Expression to include in the output struct.
Can be a constant, column, or function, and any combination of arithmetic or
string operators.

## Hashing Functions

- [digest](#digest)
Expand Down Expand Up @@ -1708,7 +1749,6 @@ sha512(expression)

- [arrow_cast](#arrow_cast)
- [arrow_typeof](#arrow_typeof)
- [struct](#struct)

### `arrow_cast`

Expand Down Expand Up @@ -1739,19 +1779,3 @@ arrow_typeof(expression)
- **expression**: Expression to evaluate.
Can be a constant, column, or function, and any combination of arithmetic or
string operators.

### `struct`

Returns an Arrow struct using the specified input expressions.
Fields in the returned struct use the `cN` naming convention.
For example: `c0`, `c1`, `c2`, etc.

```
struct(expression1[, ..., expression_n])
```

#### Arguments

- **expression_n**: Expression to include in the output struct.
Can be a constant, column, or function, and any combination of arithmetic or
string operators.

0 comments on commit 2d69ddb

Please sign in to comment.