Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

format

Analyse les données fournies en argument selon le format d'entrée spécifié. Si l'argument de structure n'est pas spécifié, il est extrait des données.

Syntaxe

format(format_name, [structure], data)

Arguments

  • format_name — Le format des données.
  • structure - Structure de la table. Optionnel. Format : 'column1_name column1_type, column2_name column2_type, …'.
  • data — Littéral de type String ou expression constante renvoyant une chaîne contenant des données au format spécifié

Valeur de retour

Une table contenant les données analysées à partir de l’argument data, selon le format spécifié et la structure spécifiée ou extraite.

Exemples

Sans l’argument structure :

Querysql
SELECT * FROM format(JSONEachRow,
$$
{"a": "Hello", "b": 111}
{"a": "World", "b": 123}
{"a": "Hello", "b": 112}
{"a": "World", "b": 124}
$$)
Responseresponse
┌───b─┬─a─────┐
│ 111 │ Hello │
│ 123 │ World │
│ 112 │ Hello │
│ 124 │ World │
└─────┴───────┘
Querysql
DESC format(JSONEachRow,
$$
{"a": "Hello", "b": 111}
{"a": "World", "b": 123}
{"a": "Hello", "b": 112}
{"a": "World", "b": 124}
$$)
Responseresponse
┌─name─┬─type──────────────┬─default_type─┬─default_expression─┬─comment─┬─codec_expression─┬─ttl_expression─┐
│ b    │ Nullable(Float64) │              │                    │         │                  │                │
│ a    │ Nullable(String)  │              │                    │         │                  │                │
└──────┴───────────────────┴──────────────┴────────────────────┴─────────┴──────────────────┴────────────────┘

Avec l’argument structure :

Querysql
SELECT * FROM format(JSONEachRow, 'a String, b UInt32',
$$
{"a": "Hello", "b": 111}
{"a": "World", "b": 123}
{"a": "Hello", "b": 112}
{"a": "World", "b": 124}
$$)
Responseresponse
┌─a─────┬───b─┐
│ Hello │ 111 │
│ World │ 123 │
│ Hello │ 112 │
│ World │ 124 │
└───────┴─────┘
Navigation