Met en forme les lignes de chaque groupe à l’aide d’un format de sortie et renvoie les données mises en forme sous forme de chaîne de caractères. Cette fonction est similaire à formatRow, mais elle s’applique à l’ensemble du groupe et peut utiliser des formats basés sur des blocs.
Syntaxe
groupFormat(format)(x, y, ...)Paramètres
format— Nom du format de sortie, par exempleJSONEachRow,CSV,TabSeparated.
Arguments
x, y, ...— Expressions à formater sous forme de lignes. Au moins un argument est requis.
Valeur renvoyée
- Une String contenant la sortie formatée du groupe.
Gestion de NULL
Comme groupArray et groupConcat, groupFormat ignore une ligne dès que l'un de ses arguments vaut NULL ; ces lignes n'apparaissent pas dans la sortie formatée. Lorsqu'un argument est nullable, le type de résultat est Nullable(String), et un groupe dont toutes les lignes sont ignorées — ainsi qu'un argument NULL littéral non typé de type Nullable(Nothing) — renvoie NULL via le combinateur générique Null.
SELECT groupFormat('JSONEachRow')(if(number = 0, NULL, number))
FROM numbers(3);
-- {"c1":1}
-- {"c1":2}Exemples
Utilisation de base avec JSONEachRow
SELECT groupFormat('JSONEachRow')(number, toString(number))
FROM numbers(3);Résultat :
{"c1":0,"c2":"0"}
{"c1":1,"c2":"1"}
{"c1":2,"c2":"2"}groupFormat
Introduit dans : v
Formate les lignes de chaque groupe à l’aide du format de sortie spécifié et renvoie le résultat sous forme de chaîne de caractères.
Le nom du format est passé en paramètre, et les arguments correspondent aux colonnes à formater. Les noms de colonnes sont générés sous la forme c1, c2, … dans la sortie formatée.
Syntaxe
groupFormat(format)(x, y, ...)Paramètres
format— Nom du format de sortie. Par exemple, JSONEachRow, CSV, TabSeparated.String
Arguments
x, y, ...— Expressions à formater sous forme de lignes.Any
Valeur renvoyée
Résultat formaté pour le groupe. String
Exemples
Utilisation de base
SELECT groupFormat('JSONEachRow')(number, toString(number))
FROM numbers(3){"c1":0,"c2":"0"}\n{"c1":1,"c2":"1"}\n{"c1":2,"c2":"2"}\n