> ## Documentation Index
> Fetch the complete documentation index at: https://docs.e6data.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ROW

> Constructs a STRUCT containing one field for each supplied value.

<div className="e6-meta"><span className="e6-eyebrow e6-eyebrow--quiet">Scalar function</span></div>

NULL inputs become NULL fields inside the non-NULL constructed STRUCT.

## Syntax

### Scalar

```sql theme={"theme":{"light":"github-light","dark":"github-dark"}}
ROW(value1 [, value2 ...])
```

* Use the Databricks SQL dialect for ROW construction. The E6 dialect rejects this expression context.

## Arguments

| Name | Type | Required | Description |
| - | - | - | - |
| value1 | BOOLEAN, TINYINT, SMALLINT, INTEGER, BIGINT, FLOAT, DOUBLE, DECIMAL(p, s), STRING, BINARY, DATE, TIME, TIMESTAMP, ARRAY, MAP or STRUCT | Yes | First field value. For DECIMAL(p, s), p is precision (total digits) and s is scale (digits after the decimal point). |
| additional\_values | BOOLEAN, TINYINT, SMALLINT, INTEGER, BIGINT, FLOAT, DOUBLE, DECIMAL(p, s), STRING, BINARY, DATE, TIME, TIMESTAMP, ARRAY, MAP or STRUCT | No | Further field values. For DECIMAL(p, s), p is precision (total digits) and s is scale (digits after the decimal point). This argument can repeat. |

## Returns

* Type: STRUCT with the argument field types
* NULL behavior: NULL inputs become NULL fields inside the non-NULL constructed STRUCT.
* Shape: One STRUCT field per argument, preserving each argument type.
* Ordering: Field order follows argument order.

## Properties

| Property | Value |
| - | - |
| Deterministic | Yes |
| Supports window usage | No |
| Exact result | Yes |

## Usage notes

* Fields are named c0, c1, and so on.
* INTEGER and INT mean the same type; STRING means VARCHAR text. NULL can be used with a supported type. Cast NULL explicitly when its type would otherwise be unclear.
* Deterministic: The same inputs and settings produce the same result.

## Examples

### Typical behavior

* Requires the Databricks SQL dialect. Explicit ROW constructors are not accepted in the default E6 dialect.

```sql theme={"theme":{"light":"github-light","dark":"github-dark"}}
SELECT ROW(1, 'x') AS result;
```

| result |
| - |
| \{"c0":1,"c1":"x"} |

### Fields with different types

Requires the Databricks SQL dialect.

```sql theme={"theme":{"light":"github-light","dark":"github-dark"}}
SELECT ROW('Ada', CAST(9.5 AS DOUBLE), TRUE) AS person;
```

| person |
| - |
| \{"c0":"Ada","c1":9.5,"c2":true} |

## Limitations

* Query tools may report or display different field names. The field names described above are those of the returned value.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.