Todos os produtos
Search
Central de documentação

MaxCompute:ARRAY_INTERSECT

Última atualização: Jun 26, 2026

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) e array(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) e array(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.