Delen via


exists-functie

Van toepassing op:vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime

Retourneert waar als func dit waar is voor een element in expr of query retourneert ten minste één rij.

Syntaxis

exists(expr, func)
exists(query)

Argumenten

  • expr: Een MATRIX-expressie.
  • func: Een lambda-functie.
  • query: Elke query.

Retouren

EEN BOOLEAANSE WAARDE.

De lambda-functie moet resulteren in een Booleaanse waarde en worden uitgevoerd op één parameter, die een element in de matrix vertegenwoordigt.

exists(query) kan alleen worden gebruikt in de WHERE component en enkele andere specifieke gevallen.

Voorbeelden

> 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