Función ARRAY_CONTAINS - 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_CONTAINS

Comprueba si la matriz contiene el valor dado y devuelve TRUE si lo encuentra.

Sintaxis

ARRAY_CONTAINS( array, value [, null_match] )

Argumentos

array

Una expresión SUPER que especifica la matriz en la que se va a buscar.

valor de

Un valor que especifica el elemento que se va a buscar.

null_match

Un valor booleano que especifica cómo se gestionan los valores NULL:

  • null_match = FALSE: al buscar NULL, devuelve NULL. Si la matriz contiene valores NULL y no se encuentra ninguna coincidencia para un valor de búsqueda distinto de NULL, devuelve NULL.

  • null_match = TRUE: los valores NULL se tratan como elementos válidos y susceptibles de búsqueda. Si la matriz contiene valores NULOS y no se encuentra ninguna coincidencia con un valor de búsqueda distinto de NULL, devuelve FALSE.

El valor predeterminado es TRUE.

La gestión predeterminada de NULL también se puede especificar mediante la opción de configuración:

-- same as null_match = TRUE SET default_array_search_null_handling to TRUE;

Tipo de retorno

La función ARRAY_CONTAINS devuelve un tipo BOOLEAN.

Ejemplo

Los ejemplos siguientes muestran la función ARRAY_CONTAINS.

SELECT ARRAY_CONTAINS(ARRAY('red', 'green'), 'red'); array_contains ---------------- t (1 row)

Los ejemplos siguientes muestran el comportamiento de la función con null_match establecido en TRUE.

SET default_array_search_null_handling to TRUE; -- NULL search is enabled SELECT ARRAY_CONTAINS(ARRAY('red', NULL, 'green'), NULL); array_contains ---------------- t (1 row) -- The array can contain NULLs SELECT ARRAY_CONTAINS(ARRAY('red', NULL, 'green'), 'blue', TRUE); array_contains ---------------- f (1 row)

Los ejemplos siguientes muestran el comportamiento de la función con null_match establecido en FALSE. Tenga en cuenta que si se especifica el comportamiento null_match en la función, se anulará el valor de configuración predeterminado.

-- same as null_match = TRUE SET default_array_search_null_handling to TRUE; -- NULL search is disabled. The default behavior is overridden SELECT ARRAY_CONTAINS(ARRAY('red', 'green'), NULL, FALSE); array_contains ---------------- (1 row) -- same as null_match = FALSE SET default_array_search_null_handling to FALSE; -- The array contains NULL and a match is found SELECT ARRAY_CONTAINS(ARRAY('red', NULL, 'green'), 'green'); array_contains ---------------- t (1 row) -- The array contains NULL but no match is found SELECT ARRAY_CONTAINS(ARRAY('red', NULL, 'green'), 'blue'); array_contains ---------------- (1 row)

Véase también