Todos los productos
Search
Centro de documentos

MaxCompute:ARRAY_EXCEPT

Última actualización: Sep 22, 2026

Busca los elementos que existen en el arreglo a pero no en el arreglo b. Devuelve estos elementos como un nuevo arreglo sin duplicados.

Sintaxis

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

Parámetros

a y b: obligatorio. Estos parámetros especifican arreglos. T en array<T> indica el tipo de dato de los elementos dentro de los arreglos. Los elementos admiten cualquier tipo de dato, pero los del arreglo a y los del arreglo b deben ser del mismo tipo.

Valor devuelto

Se devuelve un valor de tipo ARRAY. El resultado varía según las siguientes reglas:

  • El arreglo devuelto no contiene elementos duplicados. Además, los elementos conservan el mismo orden que en el arreglo a.

  • Si algún elemento de un arreglo es null, este participa en la operación.

  • Si uno de los arreglos de entrada está vacío, se devuelve un nuevo arreglo basado en el arreglo no vacío y sin duplicados.

  • Si ambos arreglos de entrada están vacíos, se devuelve un arreglo vacío.

Ejemplos

  • Ejemplo 1: busque los elementos que existen en array(1, 1, 3, 3, 5, 5) pero no en array(1, 1, 2, 2, 3, 3). La función debe devolverlos como un nuevo arreglo sin duplicados. Instrucción de ejemplo:

    -- The return value is [5]. 
    select array_except(array(1, 1, 3, 3, 5, 5), array(1, 1, 2, 2, 3, 3));
  • Ejemplo 2: busque los elementos que existen en array(1, 1, 3, 3, 5, 5, null, null) pero no en array(1, 1, 2, 2, 3, 3). La función debe devolverlos como un nuevo arreglo sin duplicados. Instrucción de ejemplo:

    -- The return value is [5,null]. 
    select array_except(array(1, 1, 3, 3, 5, 5, null, null), array(1, 1, 2, 2, 3, 3));
  • Ejemplo 3: busque los elementos presentes en un arreglo pero ausentes en otro. La función los devuelve como un nuevo arreglo sin duplicados. En este caso, uno de los arreglos de entrada está vacío. Instrucción de ejemplo:

    -- The return value is [2,1]. 
    select array_except(array(2, 1, 1, 2), cast(array() as array<int>)); 
  • Ejemplo 4: busque los elementos presentes en un arreglo pero ausentes en otro. La función los devuelve como un nuevo arreglo sin duplicados. Aquí, ambos arreglos de entrada están vacíos. Instrucción de ejemplo:

    -- The return value is []. 
    select array_except(cast(array() as array<int>), cast(array() as array<int>));

Funciones relacionadas

ARRAY_EXCEPT es una función de tipos complejos. Para obtener más información sobre las funciones que procesan datos de tipos complejos, como ARRAY, MAP, STRUCT y JSON, consulte Complex type functions.