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_EXCEPT
Devuelve la diferencia entre dos matrices manteniendo los elementos de la primera matriz que no existen en la segunda matriz. La función es NULL-safe, lo que significa que trata los valores NULL como objetos conocidos.
Sintaxis
ARRAY_EXCEPT( array1, array2 [, distinct] )
Argumentos
- array1
-
Una expresión SUPER que especifica la primera matriz.
- array2
-
Una expresión SUPER que especifica la segunda matriz.
- distinct
-
Un valor booleano que especifica si se deben devolver solo elementos distintos:
distinct = FALSE: se aplica la semántica de varios conjuntos. Cada aparición de un elemento de la primera matriz se compara con las apariciones de la segunda matriz. Si la primera matriz tiene más apariciones de un elemento que la segunda, las apariciones adicionales se conservan en el resultado.
distinct = TRUE: se aplica la semántica del conjunto. Ambas matrices se tratan como conjuntos ignorando los elementos duplicados. Los elementos de la primera matriz se eliminan si existen en cualquier parte de la segunda matriz, independientemente del número de apariciones.
El valor predeterminado es FALSE.
Tipo de retorno
La función ARRAY_EXCEPT devuelve un tipo SUPER.
Ejemplo
Los ejemplos siguientes muestran la función ARRAY_EXCEPT.
SELECT ARRAY_EXCEPT(ARRAY('a','b','c'), ARRAY('b','c','d')); array_except -------------- ["a"] (1 row)
Semántica multiconjunto:
SELECT ARRAY_EXCEPT(ARRAY('b','b','b','b'), ARRAY('b','b')); array_except -------------- ["b","b"] (1 row)
Semántica de conjunto:
SELECT ARRAY_EXCEPT(ARRAY('a','b','b'), ARRAY('b'), TRUE); array_except -------------- ["a"] (1 row)
Los valores NULL se tratan como objetos conocidos.
SELECT ARRAY_EXCEPT(ARRAY('a',NULL), ARRAY(NULL)); array_except -------------- ["a"] (1 row)