Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

groupFormat

各グループ内の行を出力フォーマットを使って整形し、その結果を文字列として返します。formatRow と似ていますが、グループ全体に対して動作し、ブロックベースのフォーマットを使用できます。

構文

groupFormat(format)(x, y, ...)

パラメータ

  • format — 出力フォーマット名。たとえば JSONEachRowCSVTabSeparated

引数

  • x, y, ... — 行形式でフォーマットする式。少なくとも1つの引数が必要です。

戻り値

  • グループのフォーマット済み出力を含む String

NULL の処理

groupArraygroupConcat と同様に、groupFormat では、いずれかの引数が NULL の行はスキップされ、そのような行はフォーマットされた出力には含まれません。引数が Nullable の場合、結果の型は Nullable(String) になります。また、すべての行がスキップされるグループや、型 Nullable(Nothing) の型指定なしリテラル NULL 引数は、汎用の Null combinator によって 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