mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-04 21:42:39 +00:00
99 lines
2.6 KiB
Markdown
99 lines
2.6 KiB
Markdown
---
|
|
slug: /en/sql-reference/table-functions/format
|
|
sidebar_position: 56
|
|
sidebar_label: format
|
|
---
|
|
|
|
# format
|
|
|
|
Parses data from arguments according to specified input format. If structure argument is not specified, it's extracted from the data.
|
|
|
|
**Syntax**
|
|
|
|
``` sql
|
|
format(format_name, [structure], data)
|
|
```
|
|
|
|
**Parameters**
|
|
|
|
- `format_name` — The [format](../../interfaces/formats.md#formats) of the data.
|
|
- `structure` - Structure of the table. Optional. Format 'column1_name column1_type, column2_name column2_type, ...'.
|
|
- `data` — String literal or constant expression that returns a string containing data in specified format
|
|
|
|
**Returned value**
|
|
|
|
A table with data parsed from `data` argument according to specified format and specified or extracted structure.
|
|
|
|
**Examples**
|
|
|
|
Without `structure` argument:
|
|
|
|
**Query:**
|
|
``` sql
|
|
SELECT * FROM format(JSONEachRow,
|
|
$$
|
|
{"a": "Hello", "b": 111}
|
|
{"a": "World", "b": 123}
|
|
{"a": "Hello", "b": 112}
|
|
{"a": "World", "b": 124}
|
|
$$)
|
|
```
|
|
|
|
**Result:**
|
|
|
|
```response
|
|
┌───b─┬─a─────┐
|
|
│ 111 │ Hello │
|
|
│ 123 │ World │
|
|
│ 112 │ Hello │
|
|
│ 124 │ World │
|
|
└─────┴───────┘
|
|
```
|
|
|
|
**Query:**
|
|
```sql
|
|
DESC format(JSONEachRow,
|
|
$$
|
|
{"a": "Hello", "b": 111}
|
|
{"a": "World", "b": 123}
|
|
{"a": "Hello", "b": 112}
|
|
{"a": "World", "b": 124}
|
|
$$)
|
|
```
|
|
|
|
**Result:**
|
|
|
|
```response
|
|
┌─name─┬─type──────────────┬─default_type─┬─default_expression─┬─comment─┬─codec_expression─┬─ttl_expression─┐
|
|
│ b │ Nullable(Float64) │ │ │ │ │ │
|
|
│ a │ Nullable(String) │ │ │ │ │ │
|
|
└──────┴───────────────────┴──────────────┴────────────────────┴─────────┴──────────────────┴────────────────┘
|
|
```
|
|
|
|
With `structure` argument:
|
|
|
|
**Query:**
|
|
```sql
|
|
SELECT * FROM format(JSONEachRow, 'a String, b UInt32',
|
|
$$
|
|
{"a": "Hello", "b": 111}
|
|
{"a": "World", "b": 123}
|
|
{"a": "Hello", "b": 112}
|
|
{"a": "World", "b": 124}
|
|
$$)
|
|
```
|
|
|
|
**Result:**
|
|
```response
|
|
┌─a─────┬───b─┐
|
|
│ Hello │ 111 │
|
|
│ World │ 123 │
|
|
│ Hello │ 112 │
|
|
│ World │ 124 │
|
|
└───────┴─────┘
|
|
```
|
|
|
|
**See Also**
|
|
|
|
- [Formats](../../interfaces/formats.md)
|