Todos os produtos
Search
Central de documentação

MaxCompute:ARRAY_EXCEPT

Última atualização: Jun 26, 2026

Retorna os elementos presentes no array a, mas ausentes no array b, sem duplicatas, em um novo array.

Formato do comando

array<T> array_except(array<T> <a>, array<T> <b>)

Descrição dos parâmetros

a e b: obrigatórios. Arrays. Em array<T>, T indica o tipo de dados dos elementos, que podem ser de qualquer tipo. Os tipos de dados de a e b devem ser idênticos.

Valor retornado

Retorna um valor do tipo ARRAY. Regras de retorno:

  • O novo array não contém elementos duplicados e preserva a ordem dos elementos em a.

  • Se o array contiver elementos NULL, esses valores participarão da operação.

  • Se apenas um dos arrays de entrada estiver vazio, a função retornará o array não vazio sem duplicatas.

  • Se todos os arrays de entrada estiverem vazios, o resultado será um array vazio.

Exemplos de uso

  • Exemplo 1: identificar elementos no array array(1, 1, 3, 3, 5, 5) ausentes no array array(1, 1, 2, 2, 3, 3) e remover duplicatas. Comando:

    --返回[5]。
    select array_except(array(1, 1, 3, 3, 5, 5), array(1, 1, 2, 2, 3, 3));
  • Exemplo 2: obter elementos exclusivos do array array(1, 1, 3, 3, 5, 5, null, null) em relação ao array array(1, 1, 2, 2, 3, 3), eliminando repetições. Comando:

    --返回[5,null]。
    select array_except(array(1, 1, 3, 3, 5, 5, null, null), array(1, 1, 2, 2, 3, 3));
  • Exemplo 3: um dos arrays de entrada está vazio. Comando:

    --返回[2,1]。
    select array_except(array(2, 1, 1, 2), cast(array() as array<int>)); 
  • Exemplo 4: todos os arrays de entrada estão vazios. Comando:

    --返回[]。
    select array_except(cast(array() as array<int>), cast(array() as array<int>));

Funções relacionadas

ARRAY_EXCEPT é uma função 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.