Todos los productos
Search
Centro de documentos

MaxCompute:ARRAY_INTERSECT

Última actualización: Sep 03, 2026

Calcula la intersección de dos arreglos y devuelve un nuevo arreglo que contiene los valores presentes en ambos. Este tema describe la sintaxis, los parámetros y ejemplos de la función ARRAY_INTERSECT.

Sintaxis

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

Parámetros

a y b: obligatorios. Estos parámetros especifican los arreglos. T en array<T> indica el tipo de dato de los elementos dentro de los arreglos. Los elementos pueden ser de cualquier tipo de dato. Sin embargo, los elementos del Arreglo a y del Arreglo b deben compartir el mismo tipo de dato.

Valor devuelto

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

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

  • El arreglo devuelto no contiene elementos duplicados y estos se ordenan siguiendo la misma secuencia que en el Arreglo a.

  • Si el Arreglo a o el Arreglo b es null, se devuelve null.

Ejemplos

  • Ejemplo 1: Calcular la intersección de array(1, 2, 3) y array(1, 3, 5), y eliminar los elementos duplicados. Sentencia de ejemplo:

    -- The return value is [1,3]. 
    select array_intersect(array(1, 2, 3), array(1, 3, 5));
  • Ejemplo 2: Calcular la intersección de array(10, 20, 20, 30, 30, null, null) y array(30, 30, 20, 20, 40, null, null), y eliminar los elementos duplicados. Sentencia de ejemplo:

    -- The return value is [20,30,null]. 
    select array_intersect(array(10, 20, 20, 30, 30, null, null), array(30, 30, 20, 20, 40, null, null)); 

Funciones relacionadas

ARRAY_INTERSECT es una función de tipo complejo. 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.