Combina vários arrays e retorna um array de structs, em que a N-ésima struct contém todos os N-ésimos elementos dos arrays de entrada.
Sintaxe
array<struct<T, U, ...>> arrays_zip(array<T> <a>, array<U> <b>[, ...])
Parâmetros
a e b: obrigatórios. Especifique um array para esses parâmetros, em que T em array<T> e U em array<U> definem os tipos de dados dos elementos nos arrays. Os elementos podem ser de qualquer tipo de dado.
Os seguintes tipos de dados são compatíveis:
TINYINT, SMALLINT, INT e BIGINT
FLOAT e DOUBLE
BOOLEAN
DECIMAL e DECIMALVAL
DATE, DATETIME, TIMESTAMP, IntervalDayTime e IntervalYearMonth
STRING, BINARY, VARCHAR e CHAR
ARRAY, STRUCT e MAP
Valor de retorno
A função retorna um valor do tipo ARRAY. O valor retornado varia de acordo com as seguintes regras:
A N-ésima struct no array de structs gerado contém todos os N-ésimos elementos dos arrays de entrada. Caso um array tenha menos de N elementos, null será o N-ésimo elemento desse array.
Se um ou mais arrays de entrada forem null, a função retorna null.
Exemplos
Selecione um dos exemplos abaixo:
-
Exemplo 1: Combina
array(1, 2, 3)earray(2, 3, 4)em um array de structs. Instrução de exemplo:-- The return value is [{0:1, 1:2}, {0:2, 1:3}, {0:3, 1:4}]. select arrays_zip(array(1, 2, 3), array(2, 3, 4)); -
Exemplo 2: Combina
array(1, 2, 3)earray(4, 5)em um array de structs. Instrução de exemplo:-- The return value is [{0:1, 1:4}, {0:2, 1:5}, {0:3, 1:null}]. select arrays_zip(array(1, 2, 3), array(4, 5));
Funções relacionadas
ARRAYS_ZIP é uma função de tipo complexo. Para obter mais informações sobre as funções usadas para processar dados de tipos complexos, como ARRAY, MAP, STRUCT e JSON, consulte Complex type functions.