> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-parallel-read-in-order-multi-part.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Documentation for the Vertical format

# Vertical

| Input | Output | Alias |
| - | - | - |
| ✗ | ✔ | |

<h2 id="description">
  Description
</h2>

Prints each value on a separate line with the column name specified. This format is convenient for printing just one or a few rows if each row consists of a large number of columns.

Note that [`NULL`](/reference/syntax) is output as `ᴺᵁᴸᴸ` to make it easier to distinguish between the string value `NULL` and no value. JSON columns will be pretty printed, and `NULL` is output as `null`, because it is a valid JSON value and easily distinguishable from `"null"`.

<h2 id="example-usage">
  Example usage
</h2>

Example:

```sql theme={null}
SELECT * FROM t_null FORMAT Vertical
```

```response theme={null}
Row 1:
──────
x: 1
y: ᴺᵁᴸᴸ
```

By default, non-printable control characters (C0 controls `0x00`–`0x1F` and `DEL` `0x7F`) in values and in column names are displayed as the corresponding Unicode "Control Pictures" (`U+2400`–`U+2421`), so they stay visible instead of being silently swallowed by the terminal. For example, a NUL is shown as `␀`:

```sql theme={null}
SELECT 'string with a NUL \0 character' AS test FORMAT Vertical
```

```response theme={null}
Row 1:
──────
test: string with a NUL ␀ character
```

`TAB`, the line feed and `ESC` are exceptions: they are always printed as is, because a terminal interprets them rather than swallowing them - a tab advances to the next tab stop, a line feed breaks the line, and an ANSI escape sequence is what lets the data carry a visualization. A column name is the exception to that exception: it is rendered on a single line, so a line feed in a name is replaced like any other control character.

To print control characters verbatim instead, disable [`output_format_pretty_display_control_characters`](/reference/settings/formats#output_format_pretty_display_control_characters):

```sql theme={null}
SELECT 'string with a NUL \0 character' AS test
FORMAT Vertical
SETTINGS output_format_pretty_display_control_characters = 0
```

The response then contains the raw `NUL` byte instead. A terminal swallows it, so the value
reads as if the character were simply missing.

This format is only appropriate for outputting a query result, but not for parsing (retrieving data to insert in a table).

<h2 id="format-settings">
  Format settings
</h2>
