適用対象:
Databricks SQL
Databricks Runtime
func 内の任意の要素に対して expr が true の場合、または query が 1 行以上返す場合は true を返します。
構文
exists(expr, func)
exists(query)
引数
-
expr: ARRAY 式。 -
func: ラムダ関数。 -
query: 任意のクエリ。
戻り値
BOOLEAN。
ラムダ関数は、ブール値を生成し、配列内の要素を表す 1 つのパラメーターに対して動作する必要があります。
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