exists
-Funktion
Gilt für: Databricks SQL Databricks Runtime
Gibt TRUE zurück, wenn func
für ein Element in expr
zutrifft oder query
mindestens eine Zeile zurückgibt.
Syntax
exists(expr, func)
exists(query)
Argumente
expr
: Ein ARRAY-Ausdruck.func
: Eine Lambdafunktion.query
: Eine beliebige Abfrage.
Gibt zurück
Einen BOOLESCHEN Wert.
Die Lambdafunktion muss BOOLEAN-Wert ergeben und einen Parameter verwenden, der ein Element im Array darstellt.
exists(query)
kann nur in der WHERE Klausel und nur wenigen anderen spezifischen Fällen verwendet werden.
Beispiele
> SELECT exists(array(1, 2, 3), x -> x % 2 == 0);
true
> SELECT exists(array(1, 2, 3), x -> x % 2 == 10);
false
> SELECT exists(array(1, NULL, 3), x -> x % 2 == 0);
NULL
> SELECT exists(array(0, NULL, 2, 3, NULL), x -> x IS NULL);
true
> SELECT exists(array(1, 2, 3), x -> x IS NULL);
false
> SELECT count(*) FROM VALUES(1)
WHERE exists(SELECT * FROM VALUES(1), (2), (3) AS t(c1) WHERE c1 = 2);
1
> SELECT count(*) FROM VALUES(1)
WHERE exists(SELECT * FROM VALUES(1), (NULL), (3) AS t(c1) WHERE c1 = 2);
0
> SELECT count(*) FROM VALUES(1)
WHERE NOT exists(SELECT * FROM VALUES(1), (NULL), (3) AS t(c1) WHERE c1 = 2);
1