exists
函式
適用於: Databricks SQL Databricks Runtime
如果 func
中 expr
任何專案為 true,或 query
至少傳回一個數據列,則傳回 true。
語法
exists(expr, func)
exists(query)
引數
expr
:ARRAY 表達式。func
:Lambda 函式。query
:任何 查詢。
傳回
布爾值。
Lambda 函式必須產生布爾值,並在一個參數上運作,該參數代表陣列中的元素。
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