Formata as linhas de cada grupo usando um formato de saída e retorna os dados formatados como uma string. É semelhante a formatRow, mas funciona com o grupo inteiro e pode usar formatos baseados em blocos.
Sintaxe
groupFormat(format)(x, y, ...)Parâmetros
format— Nome do formato de saída, por exemploJSONEachRow,CSV,TabSeparated.
Argumentos
x, y, ...— Expressões a serem formatadas como linhas. Pelo menos um argumento é obrigatório.
Valor retornado
- Uma String contendo a saída formatada do grupo.
Tratamento de NULL
Assim como groupArray e groupConcat, groupFormat ignora uma linha quando qualquer um dos seus argumentos é NULL; essas linhas não aparecem na saída formatada. Quando um argumento é do tipo Nullable, o tipo de resultado é Nullable(String), e um grupo em que todas as linhas são ignoradas — assim como um argumento NULL literal sem tipo do tipo Nullable(Nothing) — retorna NULL por meio do combinador genérico Null.
SELECT groupFormat('JSONEachRow')(if(number = 0, NULL, number))
FROM numbers(3);
-- {"c1":1}
-- {"c1":2}Exemplos
Uso básico com JSONEachRow
SELECT groupFormat('JSONEachRow')(number, toString(number))
FROM numbers(3);Resultado:
{"c1":0,"c2":"0"}
{"c1":1,"c2":"1"}
{"c1":2,"c2":"2"}groupFormat
Introduzido em: v
Formata as linhas de cada grupo usando o formato de saída especificado e retorna o resultado como uma string.
O nome do formato é passado como parâmetro, e os argumentos são as colunas a serem formatadas. Os nomes das colunas são gerados como c1, c2, … na saída formatada.
Sintaxe
groupFormat(format)(x, y, ...)Parâmetros
format— Nome do formato de saída. Por exemplo, JSONEachRow, CSV, TabSeparated.String
Argumentos
x, y, ...— Expressões a serem formatadas como linhas.Any
Valor retornado
Saída formatada do grupo. String
Exemplos
Uso básico
SELECT groupFormat('JSONEachRow')(number, toString(number))
FROM numbers(3){"c1":0,"c2":"0"}\n{"c1":1,"c2":"1"}\n{"c1":2,"c2":"2"}\n