Форматирует строки в каждой группе с помощью формата вывода и возвращает отформатированные данные в виде строки. Это похоже на formatRow, но работает со всей группой и может использовать форматы на основе блоков.
Синтаксис
groupFormat(format)(x, y, ...)Параметры
format— Имя формата вывода, напримерJSONEachRow,CSV,TabSeparated.
Аргументы
x, y, ...— Выражения, которые нужно представить в формате строк. Требуется как минимум один аргумент.
Возвращаемое значение
- String со строкой, содержащей форматированный вывод для группы.
Обработка NULL
Как и groupArray и groupConcat, groupFormat пропускает строку, если любой из его аргументов равен NULL; такие строки не попадают в форматированный вывод. Если аргумент имеет тип Nullable, тип результата — Nullable(String), а группа, в которой пропущены все строки, — так же, как и литеральный нетипизированный аргумент NULL типа Nullable(Nothing), — возвращает NULL через универсальный комбинатор Null.
SELECT groupFormat('JSONEachRow')(if(number = 0, NULL, number))
FROM numbers(3);
-- {"c1":1}
-- {"c1":2}Примеры
Базовое использование с JSONEachRow
SELECT groupFormat('JSONEachRow')(number, toString(number))
FROM numbers(3);Результат:
{"c1":0,"c2":"0"}
{"c1":1,"c2":"1"}
{"c1":2,"c2":"2"}groupFormat
Добавленный в: v
Форматирует строки в каждой группе в указанном формате вывода и возвращает результат в виде строки.
Имя формата передаётся как параметр, а столбцы для форматирования — как аргументы. В форматированном выводе имена столбцов генерируются как c1, c2, …
Синтаксис
groupFormat(format)(x, y, ...)Параметры
format— Имя формата вывода. Например, JSONEachRow, CSV, TabSeparated.String
Аргументы
x, y, ...— Выражения, которые нужно отформатировать как строки.Any
Возвращаемое значение
Форматированный вывод для группы. String
Примеры
Базовое использование
SELECT groupFormat('JSONEachRow')(number, toString(number))
FROM numbers(3){"c1":0,"c2":"0"}\n{"c1":1,"c2":"1"}\n{"c1":2,"c2":"2"}\n