각 그룹의 행을 출력 형식으로 포맷하고, 포맷된 데이터를 문자열로 반환합니다. formatRow와 비슷하지만, 전체 그룹에 대해 작동하며 block 기반 포맷도 사용할 수 있습니다.
구문
groupFormat(format)(x, y, ...)매개변수
format— 출력 형식의 이름입니다. 예를 들어JSONEachRow,CSV,TabSeparated가 있습니다.
인수
x, y, ...— 행 형식으로 포맷할 표현식입니다. 인수는 최소 1개 이상 필요합니다.
반환 값
- 그룹의 포맷된 출력이 포함된 String입니다.
NULL 처리
groupArray 및 groupConcat과 마찬가지로 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