Udostępnij za pośrednictwem


Funkcja exists

Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime

Zwraca wartość true, jeśli func ma wartość true dla dowolnego elementu w expr elem lub query zwraca co najmniej jeden wiersz.

Składnia

exists(expr, func)
exists(query)

Argumenty

  • expr: wyrażenie ARRAY.
  • func: funkcja lambda.
  • query: Dowolne zapytanie.

Zwraca

Wartość logiczna.

Funkcja lambda musi spowodować wartość logiczną i działać na jednym parametrze, który reprezentuje element w tablicy.

exists(query)można użyć tylko w klauzuli WHERE i kilku innych konkretnych przypadkach.

Przykłady

> 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