exists
Функции
Область применения: Databricks SQL Databricks Runtime
Возвращает значение true, если func
имеет значение true для любого элемента в expr
или query
возвращает по крайней мере одну строку.
Синтаксис
exists(expr, func)
exists(query)
Аргументы
expr
: выражение ARRAY.func
: Лямбда-функция.query
: любой запрос.
Возвращает
ЛОГИЧЕСКОЕ ЗНАЧЕНИЕ.
Лямбда-функция должна привести к логическому значению и работать с одним параметром, который представляет элемент в массиве.
exists(query)
может использоваться только в предложении WHERE и в некоторых других конкретных случаях.
Примеры
> 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