A função ARRAY_INTERSECT do MaxCompute calcula a interseção entre dois arrays e retorna um novo array com os valores presentes em ambos. Este tópico descreve a sintaxe, os parâmetros e exemplos de uso da função ARRAY_INTERSECT.
Sintaxe
array<T> array_intersect(array<T> <a>, array<T> <b>)
Parâmetros
a e b: obrigatórios. Arrays. O T em array<T> indica o tipo de dados dos elementos do array, que podem ser de qualquer tipo. Os tipos de dados de a e b devem ser idênticos.
Valor de retorno
Retorna um valor do tipo ARRAY. Regras de retorno:
Se houver elementos NULL no array, o valor NULL participa da operação.
O array resultante não contém elementos duplicados e mantém a ordem dos elementos em a.
Retorna NULL se o array a ou b for NULL.
Exemplos
-
Exemplo 1: calcule a interseção dos arrays
array(1, 2, 3)earray(1, 3, 5), removendo elementos duplicados. Comando:--返回[1,3]。 select array_intersect(array(1, 2, 3), array(1, 3, 5)); -
Exemplo 2: calcule a interseção dos arrays
array(10, 20, 20, 30, 30, null, null)earray(30, 30, 20, 20, 40, null, null), removendo elementos duplicados. Comando:--返回[20,30,null]。 select array_intersect(array(10, 20, 20, 30, 30, null, null), array(30, 30, 20, 20, 40, null, null));
Funções relacionadas
A função ARRAY_INTERSECT pertence à categoria de funções de tipos complexos. Para outras funções de processamento de dados de tipos complexos (como ARRAY, MAP, STRUCT e JSON), consulte Funções de tipos complexos.