---
title: SQL struct functions
description: Use struct functions to create Arrow structs in SQL queries.
url: https://docs.influxdata.com/influxdb3/core/reference/sql/functions/struct/
estimated_tokens: 1092
product: InfluxDB 3 Core
version: core
publisher: InfluxData
canonical: https://docs.influxdata.com/influxdb3/core/reference/sql/functions/struct/
date: '2025-09-05T08:26:38-06:00'
lastmod: '2025-09-05T08:26:38-06:00'
---

Use struct functions to create Arrow structs in SQL queries.

* [named\_struct](#named_struct)
* [row](#row)
* [struct](#struct)

## named\_struct

Returns an *Arrow struct* using the specified name and input expressions pairs.

```sql
named_struct(expression1_name, expression1_input[, ..., expression_n_name, expression_n_input])
```

### Arguments

* **expression\_n\_name**: Name of the column field. Must be a constant string.
* **expression\_n\_input**: Expression to include in the output struct.
  Can be a constant, column, or function, and any combination of arithmetic or
  string operators.

##### Related functions

[get\_field](/influxdb3/core/reference/sql/functions/misc/#get_field)

[](#view-named_struct-query-example)

View `named_struct` query example

*The following example uses the[Home sensor sample data](/influxdb3/core/reference/sample-data/#home-sensor-data).*

```sql
SELECT
  named_struct('time', time, 'temperature', temp, 'humidity', hum) AS named_struct
FROM
  home
WHERE
  room = 'Kitchen'
LIMIT 4
```

|                        named\_struct                         |
|--------------------------------------------------------------|
|{time: 2022-01-01T13:00:00, temperature: 22.8, humidity: 36.5}|
|{time: 2022-01-01T12:00:00, temperature: 22.5, humidity: 36.0}|
|{time: 2022-01-01T15:00:00, temperature: 22.7, humidity: 36.2}|
|{time: 2022-01-01T18:00:00, temperature: 23.3, humidity: 36.9}|

## row

*Alias of [`struct`](#struct).*

## struct

Returns an *Arrow struct* using the specified input expressions optionally named.
Fields in the returned struct use the optional name or the `cN` naming convention.
Fields in the returned struct use the `cN` naming convention (for example: `c0`, `c1`, `c2`, etc.)
unless you specify custom names using the `AS` operator within individual expressions.

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

### Arguments

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

### Aliases

* row

##### Related functions

[get\_field](/influxdb3/core/reference/sql/functions/misc/#get_field)

[](#view-struct-query-example)

View `struct` query example

*The following example uses the[Home sensor sample data](/influxdb3/core/reference/sample-data/#home-sensor-data).*

```sql
SELECT
  struct(time, temp, hum) AS struct
FROM
  home
WHERE
  room = 'Kitchen'
LIMIT 4
```

|                   struct                    |
|---------------------------------------------|
|{c0: 2022-01-01T13:00:00, c1: 22.8, c2: 36.5}|
|{c0: 2022-01-01T12:00:00, c1: 22.5, c2: 36.0}|
|{c0: 2022-01-01T15:00:00, c1: 22.7, c2: 36.2}|
|{c0: 2022-01-01T18:00:00, c1: 23.3, c2: 36.9}|

[](#view-struct-query-example-with-named-fields)

View `struct` query example with named fields

Use the `AS` operator in a `struct` expression argument to assign a name to the
struct field.

*The following example uses the[Home sensor sample data](/influxdb3/core/reference/sample-data/#home-sensor-data).*

```sql
SELECT
  struct(time AS 'time', temp AS 'temperature', hum) AS struct
FROM
  home
WHERE
  room = 'Kitchen'
LIMIT 4
```

|                         struct                         |
|--------------------------------------------------------|
|{time: 2022-01-01T13:00:00, temperature: 22.8, c2: 36.5}|
|{time: 2022-01-01T12:00:00, temperature: 22.5, c2: 36.0}|
|{time: 2022-01-01T15:00:00, temperature: 22.7, c2: 36.2}|
|{time: 2022-01-01T18:00:00, temperature: 23.3, c2: 36.9}|
| named_struct |
| --- |
| named_struct |
| {time: 2022-01-01T13:00:00, temperature: 22.8, humidity: 36.5} |
| {time: 2022-01-01T12:00:00, temperature: 22.5, humidity: 36.0} |
| {time: 2022-01-01T15:00:00, temperature: 22.7, humidity: 36.2} |
| {time: 2022-01-01T18:00:00, temperature: 23.3, humidity: 36.9} |

| struct |
| --- |
| struct |
| {c0: 2022-01-01T13:00:00, c1: 22.8, c2: 36.5} |
| {c0: 2022-01-01T12:00:00, c1: 22.5, c2: 36.0} |
| {c0: 2022-01-01T15:00:00, c1: 22.7, c2: 36.2} |
| {c0: 2022-01-01T18:00:00, c1: 23.3, c2: 36.9} |

| struct |
| --- |
| struct |
| {time: 2022-01-01T13:00:00, temperature: 22.8, c2: 36.5} |
| {time: 2022-01-01T12:00:00, temperature: 22.5, c2: 36.0} |
| {time: 2022-01-01T15:00:00, temperature: 22.7, c2: 36.2} |
| {time: 2022-01-01T18:00:00, temperature: 23.3, c2: 36.9} |
