Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

groupFormat

Форматирует строки в каждой группе с помощью формата вывода и возвращает отформатированные данные в виде строки. Это похоже на 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
Navigation