Función ARRAY_INTERSECTION - Amazon Redshift

Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del parche 198. Las UDF de Python existentes seguirán funcionando hasta el 30 de junio de 2026. Para obtener más información, consulte la publicación del blog.

Función ARRAY_INTERSECTION

Devuelve una nueva matriz que contiene solo los elementos que existen en ambas matrices de entrada. La función es NULL-safe, lo que significa que trata los valores NULL como objetos conocidos. No se garantiza el orden de los elementos en el resultado.

Sintaxis

ARRAY_INTERSECTION( array1, array2 [, distinct] )

Argumentos

array1

Una expresión SUPER que especifica una matriz.

array2

Una expresión SUPER que especifica una matriz.

distinct

Un valor booleano que especifica si se deben devolver solo elementos distintos:

  • distinct = FALSE: se aplica la semántica de varios conjuntos. Los elementos duplicados se conservan y la frecuencia de cada elemento del resultado es igual al mínimo de sus frecuencias en las dos matrices de entrada.

  • distinct = TRUE: se aplica la semántica del conjunto. Solo se devuelven los elementos únicos comunes a ambas matrices, sin duplicados.

El valor predeterminado es FALSE.

Tipo de retorno

La función ARRAY_INTERSECTION devuelve un tipo SUPER.

Ejemplo

Los ejemplos siguientes muestran la función ARRAY_INTERSECTION.

SELECT ARRAY_INTERSECTION(ARRAY('a','b','c'), ARRAY('b','c','d')); array_intersection -------------------- ["b","c"] (1 row)

Semántica multiconjunto:

SELECT ARRAY_INTERSECTION(ARRAY('a','b','b'), ARRAY('b','b','b')); array_intersection -------------------- ["b","b"] (1 row)

Semántica de conjunto:

SELECT ARRAY_INTERSECTION(ARRAY('a','b','b'), ARRAY('b','b','b'), TRUE); array_intersection -------------------- ["b"] (1 row)

Los valores NULL se tratan como objetos conocidos.

SELECT ARRAY_INTERSECTION(ARRAY('a',NULL), ARRAY('b',NULL)); array_intersection -------------------- [null] (1 row)

Véase también