Funktion ARRAY_CONTAINS - Amazon Redshift

Amazon Redshift unterstützt UDFs ab Patch 198 nicht mehr die Erstellung von neuem Python. Das bestehende Python UDFs wird bis zum 30. Juni 2026 weiterhin funktionieren. Weitere Informationen finden Sie im Blog-Posting.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Funktion ARRAY_CONTAINS

Überprüft, ob das Array den angegebenen Wert enthält, und gibt TRUE zurück, wenn es gefunden wird.

Syntax

ARRAY_CONTAINS( array, value [, null_match] )

Argumente

Array

Ein SUPER-Ausdruck, der das Array angibt, in dem gesucht werden soll.

value

Ein Wert, der das Element angibt, nach dem gesucht werden soll.

null_match

Ein boolescher Wert, der angibt, wie NULL-Werte behandelt werden:

  • null_match = FALSE: Searching for NULL returns NULL. If the array contains NULL values and no match is found for a non-NULL search value, returns NULL.
  • Nullübereinstimmung = TRUE: NULLs are treated as valid, searchable elements. If the array contains NULL values and no match is found for a non-NULL search value, it returns FALSE.

Der Standardwert ist „true“.

Die standardmäßige NULL-Behandlung kann auch mit der Konfigurationsoption angegeben werden:

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

Rückgabetyp

Die Funktion ARRAY_CONTAINS gibt einen BOOLEAN-Typ zurück.

Beispiel

Die folgenden Beispiele zeigen die Funktion ARRAY_CONTAINS.

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

Die folgenden Beispiele zeigen das Funktionsverhalten, wenn null_match auf TRUE gesetzt ist.

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)

Die folgenden Beispiele zeigen das Funktionsverhalten, wenn null_match auf FALSE gesetzt ist. Beachten Sie, dass die Angabe des null_match-Verhaltens in der Funktion die Standardkonfigurationseinstellung überschreibt.

-- 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)

Weitere Informationen finden Sie auch unter