Funkce exists
Platí pro: Databricks SQL Databricks Runtime
Vrátí hodnotu true, pokud func
je true pro libovolný prvek v expr
nebo query
vrátí alespoň jeden řádek.
Syntaxe
exists(expr, func)
exists(query)
Argumenty
-
expr
: Výraz ARRAY. -
func
: Funkce lambda. -
query
: Libovolný dotaz.
Návraty
A BOOLEAN.
Funkce lambda musí mít za následek logickou hodnotu a pracovat s jedním parametrem, který představuje prvek v poli.
exists(query)
lze použít pouze v klauzuli WHERE a několika dalších konkrétních případech.
Příklady
> 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