Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

groupFormat

각 그룹의 행을 출력 형식으로 포맷하고, 포맷된 데이터를 문자열로 반환합니다. formatRow와 비슷하지만, 전체 그룹에 대해 작동하며 block 기반 포맷도 사용할 수 있습니다.

구문

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

매개변수

  • format — 출력 형식의 이름입니다. 예를 들어 JSONEachRow, CSV, TabSeparated가 있습니다.

인수

  • x, y, ... — 행 형식으로 포맷할 표현식입니다. 인수는 최소 1개 이상 필요합니다.

반환 값

  • 그룹의 포맷된 출력이 포함된 String입니다.

NULL 처리

groupArraygroupConcat과 마찬가지로 groupFormat도 인수 중 하나라도 NULL이면 해당 행을 건너뛰며, 이런 행은 포맷된 출력에 나타나지 않습니다. 인수가 널 허용인 경우 결과 유형은 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